软件设计的七大原则 设计模式遵循的一般原则: 1.开-闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开发,对修改关闭.说的是,再设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展.换言...
分类:
其他好文 时间:
2014-09-09 16:25:49
阅读次数:
166
返回目录门面模式(Facade)属于结构型模式的一种,它符合面向对象的封装原则,但又不符合开闭原则,呵呵,今天我们主要说它的优点,不谈缺点.定义门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。技巧我们在设计子类时,...
分类:
其他好文 时间:
2014-09-03 16:27:06
阅读次数:
276
这一章看完之后,我感觉,装饰者模式就是对类继承的一种递归调用式的组合应用,很好的是实现了开闭原则,可以有效的扩展应用程序。比如书中的例子,有几种饮料,每种饮料的价格已经知道了,但是我们又有很多种的调料,每种调料也有它的价格,我们现在需要是在饮料中加调料,那么这样一来,饮料的售价就会变化,如何来描述....
分类:
其他好文 时间:
2014-08-31 14:24:51
阅读次数:
187
设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则
分类:
其他好文 时间:
2014-08-19 12:33:24
阅读次数:
171
抽象工厂
抽象工厂:多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。
即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类。“一对多”的关系。
优点:
1、抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建。
2、当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。
3、增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。
缺点:
增...
分类:
其他好文 时间:
2014-08-19 02:09:23
阅读次数:
228
在软件设计中经常会遇到这样的对象转移的条件表达式过于复杂的情况,这时可以采用if else或者switch case等语句进行处理,但是这样做的弊端就在于每增加一次状态,都需要对以前的代码进行修改,这不符合面向对象的开闭原则。此时更好的方法就是将状态的判断逻辑转移到表示不同状态的一系列类中,这就是今天要介绍的状态模式。
状态模式的定义,允许一个对象在其内部状态改变时改变它的行为。
状态模式的U...
分类:
其他好文 时间:
2014-08-13 01:18:25
阅读次数:
206
通过这次设计模式的交流,发现无论是技术上还是思想上需要提升的空间还有很多。收获比预期的要多的多。给我触动最深的就是以下几点:
1、 面向对象的精华:抽象、封装、继承、多态
2、设计模式六大原则的运用:单一职责、开闭原则、合成聚合、依赖倒装、里氏代换、迪米特
3、让自己思绪飞翔—大胆的去想象,只有去想了、做了,你才知道最后的结果
初次学习代理模式的...
分类:
其他好文 时间:
2014-08-09 23:18:09
阅读次数:
294
开闭原则(Open Closed Principle)
开闭原则的核心是:对扩展开放,对修改关闭
白话意思就是我们改变一个软件时(比如扩展其他功能),应该通过扩展的方式来达到软件的改变,而不应爱修改原有代码来实现变化
开闭原则算是前5中原则的一个抽象总结,前五种是开闭原则的一些具体实现,所以如果使用开闭原则,其实有点虚,因为它没有一个固定的模式,但是最终保证的是提高程序...
分类:
其他好文 时间:
2014-08-09 11:40:18
阅读次数:
270
工厂方法模式完全符合开闭原则,有利于系统的扩展。...
分类:
其他好文 时间:
2014-08-01 23:12:32
阅读次数:
339
建造者模式其实就是将复杂对象的创建分解成很多精细的小步骤或小部件,然后使用一个指挥者的类来控制这些步骤的执行或部件的组装,从而达到解耦合,易扩展的目的,调用者只需要使用指挥类和建造类,从而达到了对底层对象创建的封装目的。因为建造者是抽象类,不是具体实现,后续扩展也不影响现有代码,符合了开闭原则。...
分类:
其他好文 时间:
2014-07-29 15:18:08
阅读次数:
287