请解释什么是对象设计原则(类的设计原则,包的内聚性设计原则,包之间的耦合性设计原则)?
(1)类的设计原则
(资料图片)
[1]单一职责原则(Single Responsibility Principle, SRP)
所谓职责,是指类变化的原因。此原则规定一个类应该只有一个发生变化的原因。
如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责,实际上就是耦合了多个不相关的职责,从而降低了这个类的内聚性。
[2]开—闭原则(Open-Close Principle.OCP)
一个类应当对扩展开放,对修改关闭。“对扩展开放(Open for Extension)"意味着类的行为是可以扩展的,当应用程序的需求改变时,可以对类进行扩展,使其具有满足改变的行为。“对修改关闭(Close for Modification)”意味着不用修改类,就能扩展这个类的新行为。
[3]里氏替换原则(Liskov Substitution Principle,LSP)
任何基类出现的地方,子类一定可以出现。LSP是继承复用的基石。只有当衍生类可以替换基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
Liskov 于1987 年提出了一个关于继承的原则 Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.—“继承必须确保超类所拥有的性质在子类中仍然成立”。也就是说,当一个子类的实例能够替换任何其超类的实例时,它们之间才具有is-A关系。
[4]依赖倒置原则(Dependence-Inversion Principle,DIP)
系统抽象化的具体实现,要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
依赖倒置原则是很多面向对象技术的根基。它特别适合用于构件可复用的软件框架,有利于编写弹性、易于变化的代码;此外,由于抽象和细节彼此隔离,代码也便于维护。
[5]接口隔离原则(Interface Segregation Principle,ISP)
客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。要求接口的方法尽量少,接口尽量细化。
接口隔离原则和单一职责原则很相似,区别在于观察角度不同。前者是从调用者的角度来看;而后者从类或自身方法的角度来看。
[6]迪米特原则(Law of Demeter,LoD)
迪米特原则又叫最少知识原则(Least Knowledge Principle,LKP),也就是说,一个对象应当对其他对象有尽可能少地了解,即“不和陌生人说话”。降低系统的耦合度,使一个模块的修改尽量少地影响其他模块,扩展会相对容易。
[7]组合/聚合复用原则(Composition/Aggregation Reuse Principle,C/ARP)。
在面向对象的设计中,如果直接继承基类,会破坏封装,因为继承将基类的实现细节暴露给子类;如果基类的实现发生改变,则子类的实现也不得不发生改变;从基类继承而来的实现是静态的,不可能在运行时发生改变,没有足够的灵活性。
组合/聚合复用原则指出,在实际开发设计中尽量使用合成/聚合,不要使用类继承。
(2)包的内聚性设计原则
[1]共同重用原则(Common Reuse Principle,CRP)
一个包中的所有类应该是共同重用的,也就是说,如果重复用了包中的一个类,就要重用包中的所有类。换句话说,相互之间没有紧密联系的类不应该放在同一个包中。
[2]共同封闭原则(Common Closure Principle,CCP)
包中的所有类对于同一种性质的变化应该是共同封闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类产生影响,而对于其他包则不造成任何影响,这样会减少软件的发布、重新验证和重新发布的工作量。
(3)包之间的耦合性设计原则
[1]无环依赖原则(Acyclic Dependencies Principle,ADP)
包之间的依赖结构必须是一个直接的无环图形(DAG)。换成另一个说法是,包之间的依赖不能是一个环状形式,否则对类的隔离会变得非常难。
[2]稳定依赖原则(Stable Dependencies Principle,SDP)
对于任何包而言,如果它是可变的,就不应该让一个难以更改的包依赖它。否则,可变的包也会难以更改。
[3]稳定抽象原则(Stable Abstractions Principle,ASP)
包的抽象程度应该和其稳定程度一致。稳定的包应该是抽象的,它的稳定性使其灵活扩展。一个包的抽象程度越高,它的稳定性越高。反之,它的稳定性就低。
明确对象设计任务后,在对象设计原则的指导下使用程序设计工具才能实施对象设计。总之,在对象设计阶段继续完善面向对象方法中的3个基础模型:对象模型、功能模型以及动态模型。
作者主页
https://blog.csdn.net/weixin_61964996
关键词:
- OOD-对象设计原则(类的设计原则,包的内聚性设计原则,包之间的耦合性设计原则)
- 速递!Jeep将6月12日发布新车 有望为新款牧马人
- 焦点热议:灰色角砾熔结凝灰岩_关于灰色角砾熔结凝灰岩介绍
- 微速讯:异动快报:特发信息(000070)5月30日13点54分触及涨停板
- 全球看点:*ST蓝光(600466.SH):股票将于6月6日终止上市暨摘牌
- 环球快资讯丨独出心裁是什么意思?_独出心裁是什么意思
- 全球最新:浙江工商职业技术学院:以调查研究破解毕业生就业难点
- 报道:【原】甲状腺的自白书:为什么我更“偏爱”女性?
- 佳木斯力佳驾考中心(佳木斯力佳驾校学费多少)_全球微资讯
- 环球动态:卡基米是什么意思_你卡吗是什么意思
- 家电行业进入多元化 我国智能家电市场规模进一步增
- 佛山向欧盟出口供暖设备同比增长154.4% “暖家电”
- 格兰仕家用电器持续增持 占公司总股本1.24%
- 面板厂商持续加码产能 OLED能否迎来爆发式增长?
- 洗鞋机是一匹“黑马”吗? 能否创造下一个风口
- 8月空调行业最忙碌 它们将哪些新动作又将如何惊艳
- 英伟达跻身万亿美元市值“朋友圈”,多个概念股回应
- OOD-对象设计原则(类的设计原则,包的内聚性设计原
- 股价连续12个交易日低于1元 阳光城被叠加实施其他
- 速递!Jeep将6月12日发布新车 有望为新款牧马人
- 家用梯子品牌_家用梯子
- 杭州重点高中排名(保定重点高中转私立高中好转吗)
- 这个618,李佳琦≠李佳琦直播间
- 焦点热议:灰色角砾熔结凝灰岩_关于灰色角砾熔结凝灰
- 微速讯:异动快报:特发信息(000070)5月30日13点5
- 上海豪宅太疯狂!打中稳赚2000万!亿万富豪为购房结
- 紫薯冰皮月饼的做法及配方(紫薯-冰皮月饼的做法)
- 5月30日ST宏达(002211)龙虎榜数据
- 全球看点:*ST蓝光(600466.SH):股票将于6月6日终止
- 精选!人偶师第二季在线观看_人偶师第二季
- 今日聚焦!璞泰来:拟通过设立全资子公司芜湖紫宸(
- 天天速递!秦刚会见马斯克 直言特斯拉反对“脱钩断
- 环球快资讯丨独出心裁是什么意思?_独出心裁是什么意
- 全球最新:浙江工商职业技术学院:以调查研究破解毕
- 报道:【原】甲状腺的自白书:为什么我更“偏爱”女
- 【速看料】皮划艇、森林、湿地,青浦这家营地即将开
- 短讯!蝶恋花•5-28约定世纪婚宴
- 当前看点!西藏2023中级会计网上报名时间:6月20日至
- 佳木斯力佳驾考中心(佳木斯力佳驾校学费多少)_全
- 邓禄普轮胎价格,2455519邓禄普轮胎价格|当前要闻
- 马琳避谈4大动荡!王曼昱太可怜,孙颖莎大迪输得冤
- 3-1!力克世界第9,亚洲劲旅大爆发,中国女排面临2
- 10月10号上班吗全国_10月10号上班吗
- 韩国半导体出口额持续下滑,韩央行报告称能否复苏得
- 描写大雪纷飞的诗句古诗(描写大雪的诗句)-环球即
- 环球动态:卡基米是什么意思_你卡吗是什么意思
- 【天天报资讯】除锈的方法物理方法和化学方法(除锈
- 静观NBA|热血青年有纪律,热火终将成为传奇
- 算力龙头强势爆发,知名游资现身龙虎榜!京沪两地发
- 环球微动态丨巴特勒不配东决MVP?8成网友认可:多维
- 每日快看:病毒式传播的效果能够推动短视频的传播_
- 新华全媒+丨持续发展生态旅游——“西藏江南”大花
- 5月30日MLOps概念板块涨幅达2%
- 基金观察|赚钱效应不明显,前五月114只基金清盘,
- 天天观点:中科信息:我公司与英伟达暂无业务合作
- 每日热议!140个重点项目,60村全改造!佛山2035年旧
- 湖北二本大学排名前十名有哪些(湖北公办二本与民办
- 南宁师范大学研究生住宿怎么样值得去读吗招简章 微
- 豪鹏科技最新公告:拟参与璞泰来控股子公司嘉拓智能
- 每日快讯!赛博朋克2077肉体属性有什么用 赛博朋克2
- 每日焦点!上海创新推出“中低价交易、高频次流转”
- 环球关注:市监总局:无条件批准微软公司收购动视暴
- 全球热点!花上千元抢到五月天演唱会门票,你还愿意
- 商代最新考古发现公布,这些遗址又有新成果出炉_当
- 商代考古重大突破:七座“甲”字墓葬现身陕北,大量
- 护照能买国内航班机票吗?武汉天河机场:所有流程用
- 中国演出行业协会:截至5月底全国营业性演出票房收
- 广元电视台记者热线电话(广元电视台)
- 世界快看:2023上海市各公园花坛、花境设计出炉,你
- 北京理工大学爆炸科学与技术重点实验室举行公众开放
- 精选!没有一个年轻人,能逃过“爹味”攻击
- 霸气到爆的名字_最霸气的网名|热点
- 供佛香火图解大全(香火图解大全)
- 消息!安庆:阵雨打断高温 天气格局多变
- 十大AMR顶部模块应用实现产线物流全场景自动化
- 春风250sr重量|世界今亮点
- 谁在给梅西抬价?阿根廷媒体说想回巴萨,西法喊他去
- 动态:樊振东、孙颖莎继续领跑,陈梦重回三甲 |
- 快播:熄火,上海豪宅云锦东方暂停摇号
- 陕西发现晋陕高原迄今规模最大、遗存最为丰富的商代
- 刚果(金)总统:热切期盼将刚方与洛阳钼业合作打造
- 全球速读:阿芳拒绝续约!戴维斯对拜仁未来没有信心
- 苏丹停火协议再延5天 双方仍有冲突|全球信息
- 【收盘快报】A股三大指数V型反转并集体翻红!上海支
- 世界观察:绿荫成语是什么(绿荫成语)
- 曲靖市沾益区农村信用合作联社被罚60万元:因重组贷
- 沙加是哪个国家的港口(沙加衣读什么)_每日关注
- 陶瓷刀有什么优点?
- 天天最资讯丨威孚仕签证申请量已达2019年同期35%
- 快报:青农商行能否讨回青岛前首富的9亿欠款?
- 探索“三融”落地新路径 山东掀起新一轮职业教育改
- sap是什么 sap是什么工作
- 受到留党察看处分的党员恢复党员权利后_党员受到留
- 全球热资讯!刘田离任汇安资产轮动混合
- 当前要闻:苹果4s待机时间一般多长(苹果4s待机时间
- 浙江师范大学美术类专业怎么样录取分数线艺
- 潮趣在此 大游可ONE|绵阳王府井1周年圆满收官
- 网经社王与剑:AI工具的快速迭代推动跨境电商行业全
- bec官网水平测试(bec初级相当于什么水平)
- 当前看点!社旗李店镇:多措并举抢收夏粮 确保粮食
- 资讯:“安陵容”发文寻找五年前飞机邻座男士,网友
- 主办方支付阿根廷队500万美元出场费 保证梅西至少
- 最资讯丨沪上热盘云锦东方暂停摇号并启动退款 曾被
- RESAAS与伯克希尔哈撒韦附属公司Home Services of America合作
- 世界播报:说明文根据说明对象可以分为事物说明文和
- 朱军老婆谭梅跳舞视频_朱军老婆
- 邓亚萍去qg(邓亚萍下跪) 世界热文
- 秦昊恋爱脑!秦昊和庾澄庆竟然是同一年爱上伊能静|
- 环球即时看!*ST和科05月30日下跌,股价创历史新低
- 六台记者:梅西正在与巴萨谈判,净年薪1600万欧至18
- 全球滚动:工信部:前四月智能手机产量同比降11.2%
- “萌兽”出没!安图民警救助两只豹猫_关注
- 世界热讯:hbuilder发生了错误请参阅日志文件
- 戴姆勒卡车和丰田汽车(TM.US)将合并日本卡车业务-天
- 环球动态:【财务分析】数字零售“三巨头”一季报比
- 天天时讯:三星打印机驱动下载官方网站(三星s139)