设计模式

Posted by Lazy on July 14, 2016

##设计模式的分类:

  • 总体来说设计模式分为3大类,共23种设计模式:

  • 创建型模式,共5中: 工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。

  • 结构型模式,共7种: 适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。

  • 行为模式,共11种,策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

##设计模式的6大原则:

  • 单一职责原则

    即一个类只负责一项职责
    
  • 里氏代换原则

    子类可以扩展父类的功能,但不能改变父类原有的功能。
    
  • 依赖倒置原则

     高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象
    
  • 接口隔离原则

      建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用
    
  • 迪米特法则

      低耦合,高内聚
    
  • 开闭原则

    当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化