| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 【趣说】生活中的设计模式原则 -> 正文阅读 |
|
[Java知识库]【趣说】生活中的设计模式原则 |
目录 一、开闭原则?OCP(Open-Close Principle) 二、依赖倒转原则DIP(Dependence Inversion Principle) 三、合成聚合复用原则CARP composite /aggregate reuse principle? 四、接口隔离原则 Interface Segregation Principle 五、里氏代换原则?Liskov Substitution Principle ? 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在的各种问题提出的解决思路和方案。无数软件开发人员经过长时间的实践总结出来这些经验和基本方法。一起从生活中发现设计模式,包括学校的不同教师、子女教育、人的各种角色、分工协作、开汽车、朋友圈、系统设计、人的独立性等等,学习和运用设计模式的原则。 一、开闭原则?OCP(Open-Close Principle)一个软件实体应当对扩展开放,对修改关闭。Software entities should be open or extension, but closed for modification.通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统由一定的适应性和灵活性。 已有的软件模块,特别是最重要的抽象层模块不可被修改,使变化中的软件系统有一定的稳定性和延续性。一个系统不可扩展,就会失去使用的价值,一个系统总是需要修改,就会失去重心。具体来说,不兴师动众,不破坏既有规则也就是重要的抽象层叫做“闭”,做必要的扩展满足新的功能就叫“开”。 这种设计思想可以用到很多系统的构建中,例如经济的,教育的,个人价值观,或者自己新家的装修中。图中例子说明,在一个学校里,增加心理辅导老师,不改变学习既有的规则,同时针对学生变化的情况增加心理辅导老师这个新角色。 ?图片来源:笔者绘制? 二、依赖倒转原则DIP(Dependence Inversion Principle)抽象不应当依赖于细节,细节应当依赖于抽象。Abstractions should not depend upon details. Details should depend upon abstractions. or?Program to an interface, not an implementation.
?图片来源:笔者绘制?
|
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:47:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |