Re: Booch's book feels too philosophical rather than practical?



"arnuld" <arnuld3@xxxxxxxxx> wrote:

i want to learn OOP and i dont want to read philosophical concepts.
so i was thinking of buying Craig Larman's "Applying UML and
Patterns". does anybody has any suggestions?

I suggest you read Booch as if it was a novel. Don't try to understand
or absorb it. Then read "Designing Object-Oriented C++ Applications
using the Booch Method" by Martin and "Object-Oriented Design
Heuristics" by Riel. These two books really opened my eyes. Then read
Booch's book again and see what you think.

A couple of other book suggestions, not strictly OO: "The Pragmatic
Programmer" by Hunt & Thomas" and "Refactoring: Improving the Design of
Existing Code" by Fowler.

what i want to say is, functional/procedural style comes naturally
to me, this is exactly how i write trivial programmes

This is right and natural. OO is a method for handling complexity, it is
rather forced to try to use it in trivial applications.

Read the post below as well:

http://groups.google.com/group/comp.software.patterns/browse_thread/threa
d/d6e77220da9d415c/2d3fa888f4ec1652?tvc=2&q=group%3A*software.patterns*+a
uthor%3Adaniel#2d3fa888f4ec1652

You don't have to intuit OO in order to take advantage of it:

In procedural code, we are taught to move duplicated blocks of code into
a function. Those for whom procedural is "intuitive" are special in that
they can spot duplication before it's in the code and create that
function up front.

People who intuit OO can spot duplicated decision code before typing it.
However, like the beginner procedural person, you don't have to "get it"
in order to take advantage of it after the fact.

When you see two switch statements that both switch off of the same
variable, or two if statements that both check the same condition, just
knock yourself on the head for not catching it beforehand and create
polymorphic classes to remove the duplicated decision code.
.