当前位置:   article > 正文

第二章 面向对象设计原则实训_面向对象原则综合实验的实验实例怎么写

面向对象原则综合实验的实验实例怎么写

7 种常用的面向对象设计原则

设计原则名称定义使用频率
单一设计原则(Single Responsibility Principle, SRP)一个类只负责一个功能领域中的相应职责4
开闭原则 (Open-closed Principle, OCP)软件实体应对扩展开放,面对修改封闭(关键是抽象化,并且从抽象化中导出具体化实现)5
里氏代换原则(Likov Substitution Principle, LSP)所有引用基类(父类)的地方能够透明地使用其子类的对象(基类替换成子类,程序不会出错)5
依赖倒转原则(Dependence Inversion Principle , DIP)抽象不应该依赖于细节,细节应该依赖于抽象(针对接口编程,不要针对实现编程)5
接口隔离原则(Interface Segregation Principle, ISP)使用多个专门的接口,而不使用单一的总接口2
合成复用原则 (Composite Reuse Principle CRP)尽量使用对象组合, 而不是继承来达到复用的目的4
迪米特法原则(Law of Demeter, LoD)一个软件实体应当尽可能少地与其他实体发生相互的作用3

记忆:定义一个类时, 首先满足单一职责原则,只有一个引起它变化的原因。定义类有私有变量,因此,对于私有变量,修改应该封闭,扩展应该开放,满足开闭原则。 类有父类,要满足里氏代换原则,即基类替换成子类,程序不会出错。父类,即引入了抽象层。在引入抽象层之后,系统将具有很好的灵活性,在程序中尽量使用抽象层进行编程,而将具体类写在配置文件中,这样一来,如果系统行为发生变化,只需要对抽象成进行扩展,而无需修改具体类的代码。与父类相关的是接口,与此相关的是接口隔离原则,每一个接口应该承担一种相对独立的角色,不多不少,不干不该干的事,该干的事都要干。

合成复用原则:继承进行复用的主要问题是继承复用会破坏系统的封装性,因为继承将基类的实现细节暴露给子类,称为“白箱” 复用。 而利用组合或者聚合关系可以将已有的对象(或者称为成员对象)纳入新对象当中,使之称为新对象的一部分,这种复用称为“黑箱”复用,相对于继承关系而言,其耦合度相对较低,成员对象的变化对新对象的影响不大,合成复用可以在运行时动态进行。

一般而言,如果两个类之间是Has-A 关系应该使用组合或者聚合,如果是Is-A 关系则使用继承。

迪米特法原则,又称为最少知识原则(Least Knowledge Principle, LKP), 是指一个软件实体应当尽可能少地与其他实体发生相互作用。 类之间的耦合度越低,越有利于复用。在类的结构设计上,每一个类都应当尽量降低其成员变量和成员函数的方位权限;在类的设计上,只要有可能,一个类就应该设计成不变类; 在对其他类的引用上,一个对象对其他对象的引用应当降到最低。

单一职责,依赖倒转,合成复用
单一职责,依赖倒转,合成复用

这里写图片描述
开闭原则

这里写图片描述

里氏替换

这里写图片描述
最少知识法则

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/403981
推荐阅读
相关标签
  

闽ICP备14008679号