JAVA面向对象设计原则与设计模式

一、面向对象设计原则 SOLID

1.单一责任原则(SRP)

一个类只负责一个职责,修改类也只是因为这个职责发生变化

2.开放封闭原则(OCP)

一个实体(类,模块,函数)应该对外扩展开放,对内修改封闭。在扩展某类功能时应该添加而不是修改代码

3.里氏替换原则(LSP)

任何父类出现的地方子类都可以出现(检查继承是否合理)

4.接口隔离原则(ISP)

一个类依赖另一个类时,应该依赖最小的接口。依赖过多接口会使得子类需要实现过多方法。

5.依赖倒置原则(DIP)

一个类依赖另一个类时,应尽量依赖接口而非实现。

二、设计模式

1.工厂模式:定义一个工厂类,根据传入参数的不同,返回不同实例。

2.适配器模式

3.装饰器模式:一个子类只负责一个效果,通过委托的方式将这种效果累加到已经添加好其他效果的字符串(或其他)上。

4.策略模式:定义一组算法,每种放在一个类中,实现一个接口(或继承自一个类)。客户端可以选择一个类使用。

5.模板模式

6.迭代器模式

7.访问者模式(难以维护和扩展的if-else语句和类型强制转换)

经验分享 程序员 微信小程序 职场和发展