Java设计模式记录
设计模式几大原则
设计模式的核心在于遵循一些重要的原则,这些原则是高质量代码的基础,同时也是设计模式得以实现的理论依据。以下是设计模式的六大原则:
1.单一职责原则(Single Responsibility Principle,SRP)
每个类只负责一个功能,并且应该只有一个引起类变化的原因。
关键点:
- 类的功能应当聚焦单一职责。
- 降低类的复杂性,提高可读性和可维护性。
示例:
将日志记录与业务逻辑分离,一个类负责业务逻辑,另一个类负责日志。
2.开放封闭原则(Open-Closed Principle,OCP)
软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
关键点:
- 可以通过扩展实现新功能,而无需修改现有代码。
- 提高系统的灵活性和稳定性。
示例:
使用接口或抽象类,可以通过新增实现类来扩展功能,而不改动现有代码。
3.里氏替换原则(Liskov Substitution Principle,LSP)
子类必须能够替换掉其父类,且程序逻辑不受影响。
关键点:
- 保证子类行为与父类一致。
- 避免子类对父类功能的破坏。
示例:
一个矩形类的子类正方形,必须能完全代替矩形的行为,而不引入额外限制。
4.依赖倒置原则(Dependency Inversion Principle,DIP)
高层模块不应该依赖于低层模块,它们都应该依赖于抽象。
关键点:
- 通过接口或抽象类解耦高层与低层。
- 高层模块专注于逻辑,低层模块专注于实现。
示例:
使用DAO接口
,高层模块依赖接口,而具体的数据库实现由低层模块提供。
5.接口隔离原则(Interface Segregation Principle,ISP)
一个类不应该强迫实现它不使用的接口,应该将大接口拆分为多个小接口。
关键点:
- 设计专用接口,而不是冗长的通用接口。
- 避免接口污染和实现类的冗余。
示例:
拆分过大的动物接口
,例如将飞行动物与游泳动物的功能分离。
6.迪米特法则(Law of Demeter,LoD)
一个对象应当对其他对象有最少的了解,尽量减少对象之间的耦合。
关键点:
- 降低模块之间的依赖性。
- 只与直接的朋友类交互,不与陌生类通信。
示例:
通过封装,避免一个类直接操作另一个类的内部结构。
- 感谢你赋予我前进的力量
赞赏名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自糕菜菜
评论 ()