Book recommendation

Posted by Thomas Mercer-Hursh on 18-Jul-2011 17:33

People periodically ask me what book I recommend for learning about OO.  I have had a couple of standard answers, but nothing I have been very  enthusiastic about ... until now.

Model-Based Development: Applications
H.S.Lahman
ISBN 978-0-321-77401
Addison-Wesley

Put simply, this is the best technical book I have read in years.  Mr. Lahman’s historical perspective in the beginning is insightful and  provides context that helps one understand how we have come to where we  are and why we do the things we do. This is a man with a razor sharp  vision about what is right and wrong in Object Orientation, who will  firmly reprimand “Don’t Do That!” if one strays into bad practice, but  at the same time will encourage the “Grasshopper” who is willing to  learn and carefully explains the why behind every rule.

While the focus of the book is model-based development (MDB), the  discussion and review of the OO Analysis and Design process is  invaluable even for those who plan on doing their own manual detail  design and programming because MBD focuses strongly on those parts of  UML modeling which are essential to describe the functioning of the  target system. I recommend it heartily to anyone who simply wants to  learn how to do “good OO” and it is a seminal and essential work for  those interested in MBD. Because of the clarity of vision, even one  experienced in these areas can profit greatly.

Discussion of principles is strongly supplemented by worked examples at  all stages. These examples help immeasurably to give a sense of the  process and issues which arise in the “real world”, including  instructive detours down likely blind alleys to discover how it is that  one finds out one has done something wrong and makes it right again.

One principle which is made very strongly in this book is the importance  of tying what one does with the objects to entities and relationships in  the problem space. While many make the point that objects are intended  to correspond to problem space entities, Mr. Lahman keeps tying  observations and decisions back to the problem space, making the choice  and purpose much more clear.

If you are a novice, read this book to get set on the right path. If you  are an old pro, read it for the clarity of exposition and the unified  view. If you are somewhere in between, read it to fill in gaps in your  understanding and knowledge.



All Replies

This thread is closed