Book recommendation

tamhas

ProgressTalk.com Sponsor
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.



 
Top