1.你所知道的设计模式有哪些
Java 中一般认为有 23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列
出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模
式、状态模式、访问者模式、中介者模式、解释器模式。
2.设计模式常用的六大原则:
(1)单一职责原则:一个类应该只负责一项职责
(2)接口隔离原则:一个类对另一个类的依赖应该建立在最小的接口上
(3)依赖倒转原则:抽象不应该依赖细节,细节应该依赖抽象
(4)里式替换原则:子类中尽量不要重写父类的方法
(5)开闭原则ocp:模块和函数应该对拓展开放(对提供方),对修改关闭(对使用方)
(6)迪米特原则:迪米特法则(Demeter Princicle)又叫做最少知道原则,即一个类对自己以外的类知道的越少越好。
(7.合成复用原则):尽量使用合成/聚合,而不是使用继承