
设计模式
ljiaquan
这个作者很懒,什么都没留下…
展开
-
1、简单工厂模式
上班实习各种没事干,《大话设计模式》这本书还是挺好的,之前一直没认真看,这次趁上班没事做好好看看,做笔记~ 面向对象 = 活字印刷: 1、可维护 = 修改文字只要改相应的文字。 2、可复用 = 用完这次,下次还能重复使用。 3、可扩展 = 如果要加字,只要另外刻字加入即可。 4、灵活性 = 活字印刷,随意移动,横排竖排都可以。 *面向对象好处在于:通过封装、继承、多态把...原创 2013-08-02 15:34:27 · 116 阅读 · 0 评论 -
2、策略模式
策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 策略模式是一种定义一些列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式条用所有的算法,减少了各种算法类与使用算法类之间的耦合。 //注释:也就是说上层代码调用的是父类/接口,而不管子类的实现算法,所以只要子类实...原创 2013-08-02 15:58:05 · 91 阅读 · 0 评论 -
3、单一职责原则
单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一齐,一个职责的变化可能会削弱或者已知这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破环。简单来说就是分离功能,例如界面和逻辑分离。 !如果能够想到多于一个动机去改变一个类,那么这个类就具有多于一个的职责,就应该考虑类的职...原创 2013-08-02 16:06:44 · 74 阅读 · 0 评论 -
4、开放-封闭原则
开放-封闭原则(OCP):软件实体(类,模块,函数等等)应该可以扩展,但是不可修改。 即:对扩展开放,对更改封闭。 通过创建抽象来隔离以后发生的同类变化。应该做到面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。 从程序设计的开始阶段就应该注意抽象的合理使用,更改需求只需添加代码而不用修改已有代码。 ...原创 2013-08-02 16:13:43 · 104 阅读 · 0 评论 -
5、依赖反转原则
抽象不应该依赖细节,细节应该依赖于抽象,即是要针对接口编程,不要对实现编程。 里氏代换原则:一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化,也就是说,子类型必须能够替换掉它们的父类型。 通俗地说:依赖反转就是谁也不要依靠谁,除了约定的接口,大家都可以灵活自如。 ...原创 2013-08-02 16:26:19 · 156 阅读 · 0 评论 -
6、装饰模式
装饰模式,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 当系统需要新功能的时候,是向旧的类中添加新的代码。这些新加的代码通常装饰了原有类的核心职责或主要行为,概括来说就是在实现了原有的功能之后再添加额外的功能。 所以把旧对象作为传入参数装配到新对象里,先调用旧对象的方法,之后再添加新功能,如此为系统添加新功能。 优势在于有效地把类的核心...原创 2013-08-14 10:03:02 · 78 阅读 · 0 评论 -
7、代理模式
代理模式,为其他对象提供一种代理以控制对这个对象的访问。 应用: 1、远程代理,也就是为一个对象在不同的地址控件提供局部代表。这样可以隐藏一个对象存在于不同地址控件的事实。 2、虚拟代理,是根据需要创建开销很多的对象。通过它来存放实例化需要很长时间的真是对象。 3、安全代理,用来控制真是对象访问时的权限。 4、只能指引,是指当调用真实的对象时,代理处理另外一些事。 实际上...原创 2013-08-14 10:26:26 · 109 阅读 · 0 评论