1.设计模式介绍
很多人在学习过程中都会听到设计模式一词,那么设计模式究竟是什么呢?
设计模式是我们的前辈在开发过程中经过长期开发不断总结得出用来解决一些具有代表性的的问题的解决方案。
通常设计模式都是混合使用的,看业务场景选择使用,不能用设计模式去硬套,显然是不合理的。
1.1设计模式的作用:
在开发过程中使用设计模式,有利于提升代码的可读性、可扩展性、维护成本等。
2. 23中设计模式
分类 | 设计模式 |
---|---|
创建型 | 工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、原型模式(Prototype)、单例模式(Singleton) |
结构型 | 适配器模式(Adapter)、桥接模式(Bridge)、组合模式(Composite)、装饰器模式(Decorator)、门面模式(Facade)、享元模式(Flyweight)、代理模式(Proxy) |
行为型 | 解释器模式(Interpreter)、模板方法模式(Template Method)、责任链模式(Chain of Responsibility)、命令模式(Command)、迭代器模式(Iterator)、调解者模式(Mediator)、备忘录模式(Memento)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、访问者模式(Visitor) |
3.六大原则
说到设计模式,我们必须要知道设计模式的的六大原则。
-
开闭原则(Open Close Principle)
开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 -
里氏代换原则(Liskov Substitution Principle)
里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。 -
依赖倒转原则(Dependence Inversion Principle)
针对接口编程,依赖于抽象而不依赖于具体。 -
接口隔离原则(Interface Segregation Principle)
在设计接口时,尽量使用多个隔离的接口,相比单个接口更有利于降低类之间的耦合度。从而达到后期易维护和易拓展作用。 -
迪米特法则(最少知道原则)(Demeter Principle)
一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。 -
合成复用原则(Composite Reuse Principle)
尽量使用合成/聚合的方式,而不是使用继承。
4.设计模式之间的关系
设计模式是程序员内功之一,切记不要死记硬背,用心理解。下篇将介绍工厂模式。