设计模式
李保强
这个作者很懒,什么都没留下…
展开
-
设计模式之行为型模式
观察者模式当一个对象更新时,通知其他对象更新自己。在通知者对象中可使用委托,把要通知的对象的方法委托给通知者,这样就可以实现该功能。模板方法模式将子类中不变的行为搬到超类,出去子类中重复代码来实现它的优势。命令模式将一个请求或命令封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。状态模式在运原创 2012-02-05 20:58:15 · 795 阅读 · 1 评论 -
设计模式之原则
小菜说的好:很多设计模式其实就是原则的应用而已。总结设计模式的原则可以得到六个即五个原则一个法则。单一职责原则就一个类而言,应该仅有一个引起它变化的原因。简单理解:一个类功能要单一。如果一个类承担的职责过多就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者一直这个类完成其他职责的能力。发生变化时会对设计产生意想不到的破坏。例子:烤肉者就管烤肉,他也不管收钱,也原创 2012-01-30 20:12:28 · 692 阅读 · 1 评论 -
设计模式之创建型模式
简单工厂模式将各个需要实例化的对象各自成类,然后用简单工厂类来实例化他们。这样降低了类之间的耦合性,易于添加和修改程序。需要添加功能的话只要添加对象类即可。以计算器为例,运算符为易变部分,将各个运算符单独成类,这样添加运算符只需添加一个类就可以了,对于其他类没有影响。符合开闭原则。工厂方法模式与简单工厂方法类似,但是这里将各个运算符的实例化过程也单独放在一个类里,这样就把工厂类原创 2012-02-01 11:38:28 · 742 阅读 · 1 评论 -
设计模式总结之结构型模式
适配器模式两个类所做的事情相同或相似,但是具有不同的接口。主要应用于希望复用一些现存的类,但是接口又与复用环境要求不同的情况。Public override void Attack (){Wjzf.进攻();}翻译者的attack时,外籍中锋的进攻执行。装饰模式动态的给一个对象添加一些额外的职责。也就是说装饰类作用的对象可以是没有装饰过的对象,也原创 2012-02-05 20:59:39 · 824 阅读 · 2 评论 -
动态代理模式
动态代理模式还是第一次听说,之前虽然学习了代理模式,但是并没有使用过。那么自然就不知道这个模式会有什么优缺点,我们只是看到书上说怎样怎样。那么今天使用到代理模式时就发现,如果我们只是按照书上的标准去照搬代理模式,会有很多的冗余,也不符合面向对象的思想了。 当我们需要给某个类的方法添加同一个功能的时候,如果我们只是简单的使用代理,就会重复的更改所有的方法。而如果我们的业务突然又不需要原创 2013-09-26 20:52:03 · 1249 阅读 · 14 评论 -
再看设计模式:代理、装饰和适配器
今天再次学习了代理模式,可是现在对于代理模式却有了不同的理解。不同的学习阶段我们对于知识的认识是不一样的,现在再次学习代理模式,跟当初的感觉大相径庭!下面这段话是我第一次(一年前)学习代理模式时的总结:代理模式为其他对象提供一种代理以控制对这个对象的访问.实际上我感觉代理模式跟适配器模式相似(一年前这样认为的),都是起到一个中间者的角色.同样代理其实就相当于一个它所代表的实体,只不过使用代原创 2013-09-24 10:07:33 · 1401 阅读 · 15 评论