八股文|设计模式
简述设计模式七大原则
- 开放封闭原则:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。
- 单一职责原则:一个类、接口或方法只负责一个职责,降低代码复杂度以及变更引起的风险。
- 依赖倒置原则:针对接口编程,依赖于抽象类或接口而不依赖于具体实现类。
- 接口隔离原则:将不同功能定义在不同接口中实现接口隔离。
- 里氏替换原则:任何基类可以出现的地方,子类一定可以出现。
- 迪米特原则:每个模块对其他模块都要尽可能少地了解和依赖,降低代码耦合度。
- 合成复用原则:尽量使用组合(has-a)/聚合(contains-a)而不是继承(is-a)达到软件复用的目的。
简述设计模式的分类
- 创建型模式:在创建对象的同时隐藏创建逻辑,不使用 new 直接实例化对象。有工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
- 结构型模式:通过类和接口间的继承和引用实现创建复杂结构的对象。有适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
- 行为型模式:通过类之间不同通信方式实现不同行为。有策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
简述简单工厂模式
简单工厂模式指由一个工厂对象来创建实例,适用于工厂类负责创建对象较少的情况。例子:Spring 中的 BeanFactory 使用简单工厂模式,产生 Bean 对象。