长春专用网站建设,网站整体框架,网上买一个商标多少钱,企业做网站需要在通管局备案开闭原则#xff08;Open-Closed Principle#xff0c;OCP#xff09;是面向对象设计中的一个重要原则#xff0c;它指导着我们如何设计和组织代码#xff0c;以便使系统在扩展性和可维护性方面更加优秀。 开闭原则的定义是#xff1a;软件实体#xff08;类、模块、函数… 开闭原则Open-Closed PrincipleOCP是面向对象设计中的一个重要原则它指导着我们如何设计和组织代码以便使系统在扩展性和可维护性方面更加优秀。 开闭原则的定义是软件实体类、模块、函数等应该对扩展开放对修改关闭。简单来说就是当需要对系统进行修改或扩展时应该尽量通过添加新的代码来实现而不是修改已有的代码。 开闭原则的目标是使系统具有良好的可扩展性和可维护性。通过遵循开闭原则我们可以减少对已有代码的修改从而降低引入新错误的风险提高代码的稳定性和可靠性。 开闭原则的核心思想是通过抽象和多态来实现代码的可扩展性。具体来说我们可以通过定义抽象的接口或基类然后通过实现这些接口或继承这些基类来扩展系统的功能。这样当需要新增功能时只需要添加新的实现类或子类而不需要修改已有的代码。
模拟场景参考java设计模式2开闭原则 - 知乎 (zhihu.com)
通过订阅哪吒专栏的场景说明一下。
1、普通用户一般只能查阅哪吒的普通文章并通过超链的形式时刻提醒着它们要购买哪吒的付费专栏付费知识就是香。
2、专属用户通过购买专栏的形式查阅单一专栏的优质文章并时刻提醒着要购买其它专栏啊毕竟学习才是王道。
3、VIP用户订阅了哪吒的全部专栏既可以看《Java基础教程系列》也可以看《Spring Boot 进阶实战》无推广告别CRUD进阶高级Java工程师升职加薪迎娶白富美。
1、定义接口 public interface IUserService {// 阅读文章void read();// 推广宣传void promote();
}
2、实现类普通用户
/*** 普通用户*/
public class GeneralUserServiceImpl implements IUserService {public void read() {System.out.println(可以查阅哪吒的普通文章);}public void promote() {System.out.println(并通过超链的形式时刻提醒着它们要购买哪吒的付费专栏付费知识就是香);}
}
3、实现类专属用户
/*** 专属用户*/
public class ExclusiveUserServiceImpl implements IUserService {public void read() {System.out.println(通过购买专栏的形式查阅单一专栏的优质文章);}public void promote() {System.out.println(并通过超链的形式时刻提醒着它们购买哪吒的其它付费专栏付费知识就是香);}
}
4、VIP用户
/*** VIP用户*/
public class VipUserServiceImpl implements IUserService {public void read() {System.out.println(脚踩风火轮手拿乾坤圈学习哪吒优质文章我命由我不由天。);}public void promote() {System.out.println(告别CRUD进阶高级Java工程师升职加薪迎娶白富美);}
}
每种用户对应的阅读权限都有对应的实现类不会相互干扰。当某一类用户需要添加新的权限或增加新的用户类别时操作起来也非常方便。比如上文中提到的逢年过节的要给哪吒VIP发放福利比如赠送精美图书赠送精美周边等。 通过利用单一职责原则优化后现在每个类只负责自己的用户行为后续无论扩展新的功能还是增加用户种类都可以很方便的开发和维护。
在项目开发的过程中尽可能保证接口的定义、类的实现保持单一职责对项目后期的迭代和维护会有很大的帮助。
那么此时如果想对VIP用户的权益进行升级需要扩展接下来就通过这个场景来体现开闭原则。 总结
开闭原则的优点有以下几个方面
1. 可扩展性通过遵循开闭原则系统可以方便地进行功能扩展只需要添加新的代码而不需要修改已有的代码。
2. 可维护性由于开闭原则减少了对已有代码的修改系统的维护成本也相应降低。
3. 可复用性通过抽象和多态的使用可以使代码更加通用和可复用。
4. 可测试性由于开闭原则使系统的功能模块化可以更方便地进行单元测试和集成测试。
要遵循开闭原则我们可以采取以下几个策略
1. 使用抽象类或接口定义系统的核心功能通过实现这些抽象类或接口来扩展功能。
2. 封装变化将可能发生变化的代码封装起来使其与稳定的代码分离从而降低变化的影响范围。
3. 使用设计模式设计模式中的很多模式都是为了实现开闭原则而存在的比如策略模式、观察者模式等。 开闭原则是面向对象设计中的一个重要原则它指导着我们如何设计和组织代码以便使系统具有良好的可扩展性和可维护性。通过遵循开闭原则我们可以减少对已有代码的修改降低引入新错误的风险提高代码的稳定性和可靠性。