设计模式学习笔记

来源:互联网 发布:网络画板 编辑:程序博客网 时间:2024/06/01 07:50
软件设计原则
 1 单一职责原则
 2 开闭原则
 3 里氏代换原则
 4 依赖倒转原则
 5 接口隔离原则
 6 合成复用原则
 7 迪米特法则(最少知道原则)


设计模式
一、创建型模式
 1 抽象工厂模式
 2 创造者模式
 3 工厂方法模式
 4 原型模式
 5 单例模式
   单例模式具备以下几个特点:1 只有一个实例;2 能够自我实例化 3 提供全局访问点;
   单例模式的主要优点就是节约系统资源、提高系统效率,同时也能够严格控制客户对它的访问。也许就是因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了"单一职责原",同时也没有抽象类,所以扩展起来有一定的困难


二、结构型模式
 结构型模式主要是用于处理类或者对象的组合,它描述了如何将类或者对象更好的组合起来,是从程序的结构上来解决模块之间的耦合问题。
 1 适配器模式
  所谓适配器模式就是将一个类的接口,转换成客户期望的另一个接口。它可以让原本两个不兼容的接口能够无缝完成对接。
 2 桥接模式
  所谓桥接模式就是将抽象部分和实现部分分离开来,使得他们能够独立变化。
 3 组合模式
   组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。它定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。
 4 装饰者模式
    我们可以通过继承和组合的方式来给一个对象添加行为,虽然使用继承能够很好拥有父类的行为,但是它存在几个缺陷:一、对象之间的关系复杂的话,系统变得复杂不利于维护。二、容易产生“类爆炸”现象。三、是静态的。在这里我们可以通过使用装饰者模式来解决这个问题。
    装饰者模式,动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。虽然装饰者模式能够动态将责任附加到对象上,但是他会产生许多的细小对象,增加了系统的复杂度。
 5 外观模式
   外观模式提供了一个统一的接口,用来访问子系统中的一群接口。
 6 享元模式(Flyweight)


 7 代理模式
   代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。


三、行为型模式
1、职责链模式(Chain of Responsibility)
2、命令模式(Command)
3、解释器模式(Interpreter)
4、迭代器模式(Iterator)
5、中介者模式(Mediator)
6、备忘录模式(Memento)
7、观察者模式(Observer)
何谓观察者模式?观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新。
8、状态模式(State)
9、策略模式(Strategy)
10、模板方法模式(Template Method)
11、访问者模式(Visitor)

参考博客:http://www.cnblogs.com/chenssy/p/3357683.html









0 0
原创粉丝点击