认识设计模式

数据结构研究的是针对具体问题的算法,设计模式是面向应用开发的一种策略。

设计模式实际上就是编程方式和习惯,是经验的总结,这和生活习惯类似,如果拥有好的生活习惯,你就会很健康,在其他人眼里也会很好,而如果生活习惯不好,时间不顾虑,这当然没什么问题(自我感觉良好),但可能会对自己的健康和其他的方面带来影响(有时会很大)。
设计模式也一样,虽然不使用任何设计模式也可以写任何的软件,但是这就相当于没有好的生活习惯一样,会给这些系统带来很大的麻烦,就象一个人的烟隐很大,长期下去,得肺癌的几率要比不吸烟的人大得多。 而使用设计模式来实现软件,就相当于拥有好的生活习惯,这样会使整个软件系统得到良性的发展。设计模式不是必须的,但拥有它使用生活变得更美好。 



设计模式后面的道理是软件的设计原则

开闭原则 OCP(Open-Closed Principle): 对扩展开放,对修改关闭. 抽象和接口是关键.

里氏代换原则 LSP(Liskov Substitution Principle):  如果对于每一个类型为T1的对象o1,都有类型为T2的对象o2, 使得以T1定义的所有程序P在所有对象o1都代换为o2时, 程序P的行为没有变化, 那么类型T2是类型T1的子类型。反过来代换不成立。
 
依赖倒转原则DIP(Dependence Inversion Principle): 第一种表述是,抽象不应当依赖与细节,细节应当依赖与抽象;第二中表述是,要针对抽象和接口编程,不要针对实现编程。

接口隔离原则
ISP(Interface Segregation Principle): 使用多个专门的接口比使用一个单一的总接口要好。 

合成/聚合复用原则
CARP(Composite/Aggregate Resue Principle): 在一个新对象里面使用一些已经有的对象,使之成为新对象的一部分;新的对象通过向这些对象委派达到复用已有功能的一部分。这个设计原则的另一种表述是:要尽量使用合成/聚合,而不要使用继承。

迪米特法则LoD(Law of Demeter
): 又叫做最少知识原则,就是说一个对象应该尽量少的知道另一个对象。它的两外几种表述: 只与你直接的朋友通信;不要跟陌生人说话。

posted on 2009-04-11 01:09 luofeng225 阅读(197) 评论(0)  编辑  收藏 所属分类: 设计模式


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

公告

我曾经听到这么一个故事: 一个年轻的程序员问一个老程序员(一个比较牛逼的公司的CTO) 年轻程序员: 你为什么这么牛X., 就好像没有你不会的。老程序员: 积累的。年轻程序员: 怎么才能积累到您的程度呢。我每天都在积累。但是似乎都没有感觉到进步。老程序员: 我从20岁开始做到了一件事情,直到今天,而且尽可能地保证不间断。年轻程序员: 到底是什么? 老程序员: 我每天保证自己有2个小时在学习新的东西。

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

相册

收藏夹

Java Website

java技术博客

搜索

最新评论

阅读排行榜

评论排行榜