设计模式--总纲

前辈的轮子-图说设计模式
前辈的轮子-设计模式
前辈的轮子-Android源码与设计模式

android

面向对象的六大原则

单一职责原则(SRP):一个类只负责一个职责,不要存在多个致使类变动的缘由
开闭原则(OCP): 对扩展开放,对修改封闭
里氏替换原则(LSP):子类必须可以替换他们的基类
依赖倒置原则(DIP):提升灵活性,高层不依赖低层,两个都应该依赖于抽象;抽象不依赖与细节,细节依赖抽象
迪米特原则(LOD):类间解耦,类之间联系尽量少
接口隔离原则(ISP):客户端不该该依赖它不须要的接口,多用组合,少用继承

git

设计模式主要分为三类(共23种):

  1. 建立型设计模式(5种)
    单例模式、工方法模式、抽象工厂模式、建造者模式、原型模式
      建立型模式(Creational Pattern): 对类的实例化过程进行了抽象,可以将软件模块中对象的建立和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只须要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。
    建立型模式隐藏了类的实例的建立细节,经过隐藏对象如何被建立和组合在一块儿达到使整个系统独立的目的。
    程序员

  2. 结构型设计模式(7种)
    适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式
      结构型模式(Structural Pattern)描述如何将类或者对象结合在一块儿造成更大的结构,就像搭积木,能够经过简单积木的组合造成复杂的、功能更为强大的结构。
    结构型模式能够分为类结构型模式和对象结构型模式:
    github

  • 类结构型模式: 关心类的组合,由多个类能够组合成一个更大的系统,在类结构型模式中通常只存在继承关系和实现关系。
  • 对象结构型模式: 关心类与对象的组合,经过关联关系使得在一个类中定义另外一个类的实例对象,而后经过该对象调用其方法。

根据“合成复用原则”,系统中尽可能使用关联关系来替代继承关系,所以大部分结构型模式都是对象结构型模式。
算法

  1. 行为型设计模式(11种)
    策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
      行为型模式(Behavioral Pattern)是对在不一样的对象之间划分责任和算法的抽象化。
      行为型模式不单单关注类和对象的结构,并且重点关注它们之间的相互做用。 经过行为型模式,能够更加清晰地划分类与对象的职责,并研究系统在运行时实例对象 之间的交互。在系统运行时,对象并非孤立的,它们能够经过相互通讯与协做完成某些复杂功能,一个对象在运行时也将影响到其余对象的运行。

行为型模式分为类行为型模式对象行为型模式两种:设计模式

  • 类行为型模式:类的行为型模式使用继承关系在几个类之间分配行为,类行为型模式主要经过多态等方式来分配父类与子类的职责。
  • 对象行为型模式:对象的行为型模式则使用对象的聚合关联关系来分配行为,对象行为型模式主要是经过对象关联等方式来分配两个或多个类的职责。

根据“合成复用原则”,系统中要尽可能使用关联关系来取代继承关系,所以大部分行为型设计模式都属于对象行为型设计模式。

.net

©爱穿衬衫的程序员设计

相关文章
相关标签/搜索