Scott Bain's book Emergent Design: The Evolutionary Nature of Professional Software Development published by Addison Wesley looks at how to deliver and maintain robust, reliable, and cost-effective systems. In this, the second of five Reg Dev extracts, Scott tackles the complex subject of cohesion as a step to building simple …
The most complete description of cohesion I have ever read is in Meilr Page-Jones' ancient classic "The Practical Guide to Structured Systems Design".
As the title suggests, this book somewhat pre-dates the OO idiom, but I still keep it around. Quality never goes out of style.
The comments on team cohesion...
.. are correct in the coding use of cohesion, but totally wrong in the normal usage of the word:
"1. the act or state of cohering, uniting, or sticking together.
2. Physics. the molecular force between particles within a body or substance that acts to unite them"
To complain about people referring to teams as cohesive because they are cohesive is misleading and nonsensical - it's expecting to people to use a normal word in a specific computer science way out of the context of the computer science world, which is unrealistic and ridiculous.
Other than that, a good article!
Yes, a nice article
Makes sense so much that don't present your ideas if looking a job in a huge software company as a developer. I tried and was told that I don't understand objects? Good luck for them getting out of the mess later. Yes, it did work a long time ago and it still works (obejcts or no objects!) to make testable and maintainable systems.
Evil Graham beat me to it
Just goes to show how old concepts come back again ... I think I remember Tom DeMarco in his little red book on OOAnalysis(or was the OODesign book) - or was it one of his Australian disciples (Rob Thomsett) saying that the principles of structured programming/analysis/design held true in an object world.
Smiley 'cause if ED is only SD with Objects I am in !