文章字数:792,阅读全文大约需要3分钟
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
分类
设计模式大致分为三类(23种):
创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。
这些设计模式提供了一种创建对象时隐藏创建逻辑的方式,而不是使用
new
直接实例化。使创建实例更加灵活,创建对象的方式更有引导性。结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。
- 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
遵守原则
开闭原则
Open Close Principle
对扩展开放,对修改关闭。(程序拓展的时候不能修改原有的代码)里氏代换原则
Liskov Substitution Principle
1
2
3(1)子类的能力必须大于等于父类,父类可以使用的方法子类都可以使用
(2)返回值的类型也一样,如父类返回List,子类则可以返回ArrayList
(3)子类只能抛出父类有的异常依赖倒转原则
Dependence Inversion Principle
面向接口编程,依赖抽象而不是依赖具体。接口隔离原则
Interface Segregation Principle
多个隔离的接口比单接口好,降低依赖,降低耦合。迪米特法则(最少知道原则)
Demeter Principle
实体尽量少的与其它实体之间发生相互作用,系统功能相互独立。合成复用原则
Composite Reuse Principle
尽量使用合成/聚合的方法,而不是使用继承。
即原本是父类属性的值剥离出来,比如颜色,专门写一个Color类,其中实现相应的方法。在父类和子类中调用这个类。