博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式的六大原则
阅读量:5783 次
发布时间:2019-06-18

本文共 719 字,大约阅读时间需要 2 分钟。

hot3.png

设计模式主要是基于以下的面向对象设计原则: (1)对接口编程而不是对实现编程; (2)优先使用对象组合而不是继承。 设计模式的六大原则:

1. 开闭原则

一个软件实体如类,模块,和函数应该对扩展开放,对修改关闭.在软件的生命周期内,因变化,升级和维护对原有代码进行修改,可能会引起错误.所以当软件发生变化时,通过扩展软件实体的行为来实现变化,而不是修改原有的代码. 为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键

2. 里氏替换原则

任何基类(父类)可以出现,子类一定可以出现.里氏代换原则是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正的被复用,而衍生类也能够在基类的基础上增加新的行为.里氏代换原则是对开闭原则的补充, 实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范.通俗的说就是:子类可以扩展父类的功能,但不能改变父类原有的功能

3. 单一职责原则

一个类只负责一项职责

4. 依赖倒置原则

高层模块不应该依赖底层模块,二者都应该依赖抽象.抽象不应该依赖细节,细节应该依赖抽象.通俗的讲就是;多用抽象的接口描述相同的动作,降低实现这个动作的人和物之间的耦合度

5. 接口隔离原则

客户端不应该依赖他不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上

6. 迪米特法则

一个对象应该保持对其他对象最少的了解.类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对一个类的影响也越大.

转载于:https://my.oschina.net/u/2615530/blog/916866

你可能感兴趣的文章
20个Linux服务器性能调优技巧
查看>>
填坑记:Uncaught RangeError: Maximum call stack size exceeded
查看>>
SpringCloud之消息总线(Spring Cloud Bus)(八)
查看>>
实时编辑
查看>>
KVO原理分析及使用进阶
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>
【294天】我爱刷题系列053(2017.11.26)
查看>>
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Scenario 9-Shared Uplink Set with Active/Active uplink,802.3ad(LACP)-Flex-10
查看>>
探寻Interpolator源码,自定义插值器
查看>>
一致性哈希
查看>>