An excellent book for design patterns beginners

I believe that every one who are working on software development fields would have at least heard of the Gang of Four and their bible of design patterns - Design Patterns: Elements of Reusable Object-Oriented Software . Not to mention the ones who are going to learn design patterns. Most of them read this book for the starting point, and they may just start a tough road if they haven't enough software design experience. Unfortunately, I was one of them. I took quite some time on finish reading this book, and I have got much from it. Even worse, I was completely confused by all those stuff. What I was still clear is some of the names of the patterns. Nothing else! I thought that's because I was lack of experience on software design. For people like me, are not ready for learning design patterns. I could just defer the attempt until I got enough experience. I had believed this thought for a long time.

On day, the book  'Design Patterns Explained: A New Perspective on Object-Oriented Design'  comes in front of me. I surprisingly found that it gives us a much lower threshold of design patterns learning.

Pattern: A solution to a problem in a context.

Basic principles of OOD:
1. design to interface
2. favor composition over inheritance
3. find what varies and encapsulate it

Compare and contrast the traditional way and the new way of looking at objects,encapsulation and using inheritance:
1.Objects:
  tra - as a bundle of data and methods
  new - as things with responsiblilities
  -- focus on what the objects are supposed to do, not simply on how to implement them.
     It makes object definition more flexible.
2.Encapsulation:
  tra - as hiding data
  new - as the ability to hide anything
  -- gives a better way to split up the program.
3.Inheritance:
  tra - for specialization and reuse
  new - as a method of classifying objects
  -- make it more likely to design to interface.

Handling variation in behavior with objects.

Be aware of the relationship between them:
1.Commonality/Variability analysis
2.The conceptual,specification and implementation perspectives
3.An abstract class, its interface and its derived classes

If you have ever bought any programming books, you might have noticed that there are two types of them: books that are too short to understand the topic and books that are too long making it inevitable that you get bored. We've tried hard to avoid both of these categories with Design Patterns Explained Simply. This book is fast and simple way to get the idea behind each of the 29 popular design patterns. The book is not tied to any specific programming language and will be good for you as long as you have a basic knowledge of OOP. Most chapters are available on the website, so you can check out the simplicity of the language in the book and the way materials are presented. Why should I read this book? It's simple. It's written in clear and simple language that makes it easy to read and understand. It's short. Yes, there are no useless demos or huge code listings — just clear and easy-to-understand descriptions with many graphical examples. When you finish reading this book, you'll have good reason to go to your boss and ask him for apromotion. Why? Because using design patterns will allow you to get your tasks done twice as fast, to write better code and to create efficient and reliable software architecture. How do I become a programming ninja? The main difference between a ninja and a novice is the knowledge of secret coding tricks, as well as the awareness of most pitfalls and the ability to avoid them. Design patterns were created as a bible for avoiding problems related to software design. Doesn’t that make it a true ninja’s handbook? Table of Contents Creational patterns Abstract Factory Builder Factory Method Object Pool Prototype Singleton Structural patterns Adapter Bridge Composite Decorator Facade Flyweight Private Class Data Proxy Behavioral patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Null Object Observer State Strategy Template Method Visitor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值