文章图片
SOLID指的是面向对象编程中的五条设计原则 , 旨在减少代码腐烂 , 提高软件的价值、功能和可维护性 。 坚实的原则有助于用户开发耦合较少的代码 。 如果代码是紧密耦合的 , 那么一组类是相互依赖的 。 为了更好的可维护性和可读性 , 应该避免这种情况 。 想了解有关SOLID设计原则更多详细信息 , 建议参加Java培训 , 通过系统全面的学习 , 可以快速提升自己 。
1.单一责任原则(SRP)
【VR|Java培训:Java应用程序开发中的SOLID设计原则】单一责任原则(SRP)规定 , 一个类改变的原因不应超过一个 。 这意味着代码中的每个类或类似结构应该只有一项任务要做 。 类的每件事都应该与这个单一的目的相关 , 这并不意味着类应该只包含一个方法或属性 。
可以有很多成员 , 只要他们与单一责任相关 。 可能是 , 当发生更改的一个原因时 , 类的多个成员可能需要修改 , 也可能是多个类需要更新 。
混合责任也使类更难理解和测试 , 降低了凝聚力 。 解决这一问题的最简单方法是将类划分为三个不同的类 , 每个类只有一个职责:数据库访问、计算薪酬和报告 , 所有这些都是分开的 。
2.开放-封闭原则(OCP)
开放-封闭原则(OCP)规定类应该为扩展而打开 , 但为修改而关闭 。 “开放扩展”意味着你应该设计类 , 以便在生成新需求时添加新功能 。 “为修改而关闭”意味着一旦开发了一个类 , 就不应该修改它 , 除非是为了纠正错误 。 在java培训中 , 不仅有理论知识的课程 , 还有大量实战项目学习 , 让你在实践中真正掌握SOLID设计原则知识和技能 。
该原则的这两部分似乎相互矛盾 。 但是 , 如果正确地构造类及其依赖项 , 则可以添加功能 , 而无需编辑现有源代码 。
通常 , 你通过引用依赖项的抽象(例如接口或抽象类)而不是使用具体类来实现这一点 。 可以通过创建实现接口的新类来添加功能 。
将OCP应用到项目中可以限制在编写、测试和调试源代码后更改源代码的需要 。 这降低了在现有代码中引入新错误的风险 , 从而产生更健壮的软件 。
3.Liskov替换原则(LSP)
Liskov替换原则(LSP)适用于继承层次结构 , 指定你应该设计类 , 以便在客户端不知道更改的情况下用子类替换客户端依赖项 。
因此 , 所有子类的操作方式都必须与其基类相同 。 子类的特定功能可能不同 , 但必须符合基类的预期行为 。 要成为真正的行为子类型 , 子类不仅必须实现基类的方法和属性 , 还必须符合其隐含的行为 。
通常 , 如果超类型的子类型做了超类型的客户机不期望的事情 , 那么这违反了LSP 。 想象一个派生类抛出一个超类没有抛出的异常 , 或者如果一个派生类有一些意外的副作用 。 基本上 , 派生类的性能不应该低于基类 。
违反LSP的典型示例是从矩形类派生的方形类 。 Square类始终假定宽度与高度相等 。 如果在预期为矩形的上下文中使用正方形对象 , 则可能会发生意外行为 , 因为不能(或者更确切地说不应该)单独修改正方形的尺寸 。 想要快速学会SOLID设计原则技巧 , 建议报名参加java培训 , 有明确清晰的学习路线 , 系统规范的课程 , 专业讲师面授指导教学 , 可以在短时内获得很大提升 。
4.接口隔离原则(ISP)
接口隔离原则(ISP)规定 , 不应强迫客户依赖他们不使用的接口成员 。 当我们有非内聚接口时 , ISP引导我们创建多个更小的内聚接口 。
- LG电子正式加入IBM量子网络,将推动量子计算工业应用发展
- 区块链|在日本,区块链有哪些应用
- javascript|Web前端培训:什么是 MEAN Stack?
- javascript|奢侈品级别音响B&W加持,峰米向行业第一发起冲击?
- 湖南|湖南着力推进5G应用发展 岳麓山大学科技城5G加速港启用
- 产业链|加快形成融合发展大生态 推动5G应用加快落地
- Java|带你入门Java之每日3分钟Java——数据类型和常量变量
- Java|慎入慎入!!又是被互联网“美人”诈骗的一天!
- Java|假如让谷歌浏览器进入中国市场,国产浏览器会受到很大影响吗?
- javascript|帕特·基辛格被任命为英特尔CEO已有一年