Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Is "Analysis Patterns: Reusable Object Models" by Martin Fowler (published 1996) still a good book to use for the content it covers?

Are there other good books that cover the same content? Are there more up-to-date books?

Update: Are there any more answers on this question, as well as any answers on the second part about alternative books?

share|improve this question

closed as primarily opinion-based by durron597, MichaelT, Dan Pichelman, gnat, Kilian Foth Jul 22 at 7:37

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers 2

Yes, it definitely still is a good book!

It talks about general ideas and principles that don't change much, even if your language/platform/library has evolved. It doesn't matter what material you're using to build a bridge - you still have to take gravity into consideration ;-)

What is more, Martin Fowler is still quite active and recently involved in Domain Specific Languages. Check out his web site for more information.

share|improve this answer

I dug out my copy and flipped through the pages. I would say "No", in view of the notation used and the development of methodologies since then.

share|improve this answer
Could you expand on the second point? (The notation is pre-UML, but easy enough to follow and mentally translate.) –  Richard Nov 2 '10 at 9:17
In all fairness, it is a very good book at that time. However, 14 years have passed. Fowler himself has discovered more patterns and have in mind a "second" edition. See –  StartClass0830 Nov 2 '10 at 9:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.