开始对设计模式(
design pattern)理解更多了,也重复地阅读之前所读过的书籍,如框架设计,GOF Pattern 。也许之前在台湾时阅读这类书本时,根本就不理解设计模式是该怎么使用,用处在哪?
我第一次阅读设计模式的感觉?!
什么是设计模式啊(怎么软体工程需要学设计模式)?
何时应该使用设计模式?
怎么好好很直接的
程式需要绕一圈来写?这就是所谓的模式吗?
因为设计而设计?这样对吗?
最近翻回之前所购买的书,感觉对设计模式(design pattern)领悟得更多,也许程式员就不能因为阅读而阅读吧!当有使用到时,再翻阅回去会感觉领悟更多。
现在就开始回顾设计模式的历史叻!其实设计模式是为了解决软件开发,更改的复杂度降低,
经过之前开发人员的经历,他们把一些常见的问题给设上模式,以让程式开发的
错误降到
最低(希望将软件业工程化)。当然也不是100% 工程化,开发人员常见的问题就是客户想改变这些问题,所以也只能接受
改变,而让客户的改变可以容易地套上之前所编写设计的系统。
设计模式基本上可被分为3大类
创建型模式(Creational Pattern) :解决物件创建的问题
(Solution for (new) Object)
结构型型模式(Structural Pattern):处理类和物件间的组合
(Identifying a simple way to realize relationships between entities)
行为型模式 (Behavioral Pattern):类和物件交互的责任分配
(Common communication patterns between objects and realize)
少和模式接触当然就不可能牢记23种模式,个人觉得重点还是理解过程。
设计原则(Design Principle)
1、"开-闭"原则——模块应对扩展开放,而对修改关闭。
2、里氏代换原则——如果调用的是父类的话,那么换成子类也完全可以运行。里氏代换原则是 继承复用的一个基础。
3、合成复用原则——要少用继承,多用合成关系来实现。
4、依赖倒转原则——抽象不应该依赖与细节,细节应当依赖与抽象。
要针对接口编程,而不是针对实现编程。
5、接口隔离原则——每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。
6、抽象类
7、迪米特法则——最少知识原则。不要和陌生人说话。
好好地理解这些设计原则,就可以很自然地思考在编写程式时使用适当的模式。
续。。。 应该先介绍UML (类别图)吧~
参考文献
http://baike.baidu.com/view/66964.htm
《Head First Design Pattern》