Re: Basic books on OOA&D

From: Jacob Atzen (jacob_at_aub.dk)
Date: 10/17/03


Date: 17 Oct 2003 10:42:26 +0200


"Shane Mingins" <shanemingins@yahoo.com.clothes> writes:

> I found Agile Software Development (Principles, Patterns, and
> Practices) - Robert C. Martin great! I am constantly referring to
> it. Code examples are in a mixture of Java & C++ If one of your
> requirements is wanting further explanation on the GOF patterns then
> grab this book.

I find XP, Agile Development and related methods very
interesting. I've read parts of the CRC card book and Kent Beck's XP
eXplained. But I still feel that I need a more thorough foundation in
good OOD. XP an AD - it seems to me - require good OOA&D skills. And I
often find myself stumbling in the dark or reverting to "procedural"
OOP when trying to design something.

> I found OOSC - Bertrand Meyer a difficult read. It was the first OO book I
> read. I am not sure (after a year of other reading) if I would find it
> easier now or not. This is obviously only my experience.

Did you learn something about analysis or design from it?

> Object Design - Wirfs-Brock/McKean was excellent for looking at designing
> objects with specific roles and responsibilities. This book is lanaguage
> indpendent but where needed, Java code is used in some places to illustrate
> points.

Is "designing objects with specific roles and responsibilities"
generally applicable? Is it good design to use objects in this way?

> I have just "skim-read" Applying UML and Patterns (An Introduction to
> Object-Oriented Analysis and Design and the Unified Process) - Craig Larman.
> This book is Martin Fowler's first choice as a book introducing OO design.
> I skimmed the chapters that were explaining UML notation and UP specific but
> enjoyed the chapters that detail an approach to OO design.

Interesting. I will look into it. I've just borrowed "UML and the
unified process", Jim Arlow and Ila Neustadt. I guess they're somewhat
overlapping.

> He uses the GRASP patterns which I had not heard of. Quote - "The GRASP
> patterns are a learning aid to help one understand essential object design,
> and apply design reasoning in a methodical, rational, explainable way.This
> approach to understanding and using design principles is based on patterns
> of assigning responsibilities." Again lanaguage indpendent with Java is
> used to illustrate points.
>
> Refactoring - Martin Fowler is a "must have" book at some stage. It details
> refactorings which are techiques for improving the design of your code
> without changing it's external behaviour. Java code used for all examples.
>
> A book that looks like it will be really good reading (when published) is
> Refactoring To Patterns - Joshua Kerievsk. A draft (work-in-progress) is
> available here http://www.industriallogic.com/xp/refactoring/
>
> Another two I would recommend on Test Driven Development (TDD) are Test
> Driven Development by Example - Kent Beck and Test Driven Development: A
> Practical Guide - David Astels.
>
> Currently I am reading Patterns of Enterprise Application Architecture -
> Martin Fowler which at first glance looks filled with pearls of wisdom
> specific to Enterprise Applications if that ever is a field you end up in
> :-)

Thank you for all your insights, it seems somewhat overwhelming with
all those titles. Should you choose 2 titles for a novice designer
such as me, which ones would it be?

> Now having read all these books I am still struggling daily with how to put
> some of all this together. Luckily there is this newsgroup and lots of
> helpful experts providing answers and opinions to my basic questions. If
> you can at all hook up with someone who is prepared to mentor you grab that
> opportunity!

Unfortunately I don't know anyone with the necessary time and
prerequisites. Mentoring is not as common in Denmark as it is in the
UK and the US.

[On TDD]
> As a student you have an opportunity to begin this practice now rather than
> later :-)

I'm already practicing :-)

-- 
Thank you,
- Jacob Atzen


Relevant Pages

  • Re: Basic books on OOA&D
    ... I found Agile Software Development (Principles, Patterns, and Practices) - ... Object-Oriented Analysis and Design and the Unified Process) - Craig Larman. ... This book is Martin Fowler's first choice as a book introducing OO design. ...
    (comp.object)
  • Re: Looking for suggestions on design patterns/architecture books
    ... Agile, Principles, Patterns, and Practices in C# by Martin and Martin ... Patterns of Enterprise Application Architecture by Fowler ... Applying Domain-Driven Design and Patterns by Nisson ...
    (microsoft.public.dotnet.framework.windowsforms)
  • Re: Why is Object Oriented so successfull
    ... Principles, Patterns, and Practices, Robert C. Martin, Prentice Hall, 2002. ...
    (comp.object)
  • Re: delegation vs. inheritance
    ... "variance encapsulation" argument we might create a "purely ... I see that kind of "technical design" happen ... that another way of the technicians taking over design. ... Then about design patterns you comment ...
    (comp.object)
  • Re: For Sean Pitman: Review of "Meaningful Information"
    ... They are just looking for something that humans have an higher ... human-like design is not easily detectable. ... that all simple patterns are the result of intelligent design. ... What is 'informational complexity'? ...
    (talk.origins)