博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件设计原则
阅读量:6321 次
发布时间:2019-06-22

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

hot3.png

设计原则

软件设计有六大设计原则分别是

  • 单一职责原则

  • 开放-封闭原则

  • 依赖倒置原则

  • 里氏替换原则

  • 合成聚合复用原则

  • 迪米特原则

单一职责原则

对于一个类而言,应该仅有一个引起它变化的原因,若一个类承担的职责过多,等于把这些职责耦合在一起,一个职责的变化可能会消弱或抑制类的完成其他职责的能力,这种耦合会导致脆弱的设计,比如:当变化发生时,设计会遭到意想不到的破坏

使用原则

软件设计真正做的许多内容,就是发现职责并把发现职责相互分离,而判断分离的方法就是如果能够想到多余一个的动机去改变一个类,类具有多于一个职责

开放封闭原则

软件实体(类、模块、函数)应该被设计成可以扩展,但是不能修改。面对需求,对程序改动是通过增加新代码,而不是更改现有代码完成。

表现特征

对于扩展是开放的(Open for Extension

对于更改是封闭的(Closed for Moification

使用原则

  1. 无论模块是多么的封闭,都会存在一些无法对之封闭的变化。尽然不可能完全封闭,设计人员就必须对设计的模块做出封闭和不封闭的选择,必须先预测出最可能发生的变化,构造抽象来隔离变化

  2. 希望在开发工作展开不久就知道可能发生的变化,查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难

  3. 该原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术的可维护性、可扩展性、复用性和灵活性

依赖倒置原则

抽象不应该依赖细节,细节依赖于抽象,针对接口编程,而不是针对实现编程

表现特征

  • 高层模块不应该依赖底层模块,两者都应该依赖抽象

  • 抽象不应该依赖于细节,细节应该依赖抽象

里氏替换原则

子类必须能够替换掉他们的父类型,一个软件实体如果适用的是一个父类的话,那么一定适用与其子类,且它察觉不出父类对象鱼子类对象的区别

合成聚合复用原则

聚合

表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

合成

一种强的“拥有”关系,体现严格的部分和整体关系,部分和整体的生命周期一致

迪米特原则

LOD法则,或最少知道原则,若两个类不必彼此直接通信,则这两个类就不应当发生直接的相互作用,即若其中一个类需要调用另一个类的某个方法,可通过第三者转发调用。该原则本质是强调类之间的松耦合

前提条件

在类的结构设计上,每个类都应该尽量减低成员的访问权限

使用原则

类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成波及

转载于:https://my.oschina.net/violetmoon/blog/193171

你可能感兴趣的文章
iphone编程指南学习笔记2
查看>>
NFS服务配置
查看>>
中级篇第九期:相册与拍照初使用
查看>>
我的友情链接
查看>>
lvs 一个网卡单个管理ip,多个跨网段VIP解决办法
查看>>
自定义圆角button
查看>>
超长正整数相加
查看>>
Centos 6 编译内核支持LVS-SNAT模式
查看>>
JAVA数据类型
查看>>
TCP segment of a reassembled PDU
查看>>
hdu 5195 DZY Loves Topological Sorting BestCoder Round #35 1002 [ 拓扑排序 + 优先队列 || 线段树 ]...
查看>>
【Oracle】oracle中快速判断某一日期是闰年或平年
查看>>
datatable 转 json 格式
查看>>
vs2010生成Dll文件并引用dll(C#)
查看>>
藏在兰州拉面里精益管理秘诀
查看>>
How to blog on Github
查看>>
百思不得姐 one day
查看>>
19.04.16--指针笔记-参数传递
查看>>
面向对象
查看>>
POJ1860 Currency Exchange
查看>>