Saturday, November 2, 2013

The Literature of Object-oriented Development in Design Patterns

Did you know with Design Patterns as your guide, you will learn how these important patterns fit into the software development process? Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.



The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently.




REVIEW:

This is a very good book by the famous GOF (Gang of Four). This volume is a must have for the experienced application programmer. On the way to become a more matured programmer, one begins to realize the relationship between machine and man. For system programming, the code should tip towards machine, that is, the ultimate goal is to make the program be as efficient as it can be. On the application programming side, it should be the other way around, and the code should be as readable as possible even when this means that the code would not be running at the most efficient way possible. Machine time is sacrificed for human developing/maintaining time.



After understanding the relation between close to machine and close to man, one then realizes that the programming concepts including OO, Design Patterns and the like are here to serve the purpose of helping human understand the code and not to help the machine. And only when the complexity introduced by using these concepts are much less than the complexity they reduce should people decide to use them. You must know your goals and what you are doing. Applying Design Patterns for the sake of applying Design Patterns do not necessarily add any benefits, and it could potentially do more damage than good.



In software development, reuse is The Holy Grail. Reusing existing software artifacts is the most cost-effective way to reduce development time and effort. But code snippets and finished software components are not the only artifacts which can be reused. This book is just about that. The Gang of Four (GoF) - as the authors are popularly known - were the first to record experience in object-oriented design to help developers improve their programming skills. As the book preface says, it "describes simple and elegant solutions to specific problems in object-oriented software design.



There is not a day does by that some pattern in this book is used in the daily work at my software firm. These idioms have come to dominate software development: they are both useful in themselves, and they increasingly form a common language for software designers that is abstracted from details such as implementation language or problem domain.



In order to truly use this book, the developer really needs to incorporate an intuitive knowledge of these patterns, how to implement them, and their relative costs and benefits, into his set of skills.



The idea behind this book is simple, almost all programming projects are based a few basic designs with modifications for particular aspect of the project. This book describes those basic designs as a set of pre-defined patterns (named) and identifies how you can extend those patterns to the projects specific needs in a neat orderly manner.



This is not the book to read if you are new to Object Oriented Programming, but if you understand the principles of OOP and OOA then this is a great place to jump in at the deep end.
Full Post

No comments:

Post a Comment