读书笔记----软件设计原则、设计模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了读书笔记----软件设计原则、设计模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1886字,纯文字阅读大概需要3分钟。
内容图文
![读书笔记----软件设计原则、设计模式](/upload/InfoBanner/zyjiaocheng/1043/02ed56c884b4490c882c10172a04246f.jpg)
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11833 |
这个作业的目标 | 阅读设计原则相关书籍,并表达自己的想法 |
阅读书籍:《软件工程-面向对象和传统的方法》
面向对象的设计原则
LSP:里氏代换原则
Liskov Substitution Principle,LSP
- 若在任何情况下,子类或实现类与基类都可以互换,那么继承的使用是合适的
- 子类不能添加任何父类没有的附加约束
- 子类对象必须可以替换基类对象
例子
正方形继承长方形类,违背LSP原则,导致出现错误。
OCP:开闭原则
Open Closed Principle,OCP
软件实体应该是可扩展的,但不可修改的
- 对于扩展是开放的
- 对于更改是封闭的
- 对模块行为扩展时,不必改动模块源代码或二进制代码
OCP的关键在于抽象
- 抽象技术:abstract class,Interface
- 抽象预见了可能的所以扩展(闭)
- 抽象随时可导出新的类(开 )
例子:
手开关抽屉,门,冰箱。。。
那如果手直接和可开关的具体类关联,则每次添加新的具体类都需要修改手的源代码
解决方案:新增一个接口
SRP:单一职责原则
Single Responsibility Principle,SRP
- SRP体现了内聚性,即一个模块的组成元素直接的功能相关性
- 类的职责定义为“变化的原因”,当一个类承担了多于一个职责,那么引起变化的原因会有多个
例子
解决方案
ISP:接口隔离原则
Interface Segregation Principle,ISP
- 客户不应该依赖他们用不到的方法,只给每个用户它所需要的接口
- 为避免肥接口,应该一个类实现多个接口,每个客户仅知道必须的接口
- 要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
例子:接口污染
DIP:依赖倒置原则
Dependence Inversion Principle,DIP
- 高层模块不应该依赖底层模块,二者应该依赖于抽象
- 抽象不应该依赖于细节,细节应该依赖于抽象
- 针对接口编程,不要针对实现编程
例子:传统依赖关系
解决方案
LKP:最少知识原则
Least Knowledge Principle,又叫迪米特法则(Law of Demeter,LoD)
启发式原则
- 依赖于抽象,即所有依赖关系都应该止于抽象类或接口
- 任何类不应该从具体类派生
- 任何变量不应该拥有指向具体类的指针或者引用
- 任何方法都不应该改写任何基类中已经实现的方法
内容总结
以上是互联网集市为您收集整理的读书笔记----软件设计原则、设计模式全部内容,希望文章能够帮你解决读书笔记----软件设计原则、设计模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。