版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件设置修订原则、物件导向设置修订原则、维护性复用性开闭原则接口抽象类里氏替换原则依据接口隔离原则合成/集约复用原则,软件维护性设置修订,一个维护中的软件是不断播放的软件。 对需求的修改、过程、接口等的详细更改、修改的积累会导致传统软件结构的混乱,软件经常腐败(可维护性差、可升级性差)。 系统设置修订者:可辩解为用户需求变化太大的软件腐败:太硬的rigidity太脆弱的fragility再利用率低immobility黏性系数高的viscosity、软件可维护性设置修订、软件腐败:太硬的rigidity是新功能卷入太多,循环长度过于脆弱fragility在一个地方修正的复用率低的immobili
2、ty 1,a模块想复用,但a卷入BCDE,卷入太多,不复用2 .不同模块中的重复功能、重复实现、问题黏性系数高的viscosity 1,修正,维持原来的设定修正2 .如果修正破坏原来的设定修正,总是2的实现比1容易,黏性系数过高就会使软件程序员采用错误的方案,并且软件渐渐腐烂,软件的维护性设定修正, 可维护性设置修订目标的可扩展性extensibility添加新模块而不影响传统模块的灵活性flexibility修改一个模块而不影响其他模块的插入性pluggability可以轻松删除一个模块、物件导向设定修订原则、维护性复用性开闭原则接口抽象类里氏置换原则接口隔离原则取决于合成/聚合多重原则分割
3、规则,软件复用性(reuse )设定修订1、再利用的重要性: 1、高效率2 .高软件质量3 .维护性好。 传统的多路复用1、复制、剪切查询密码2、算法的多路复用3、数据结构的多路复用传统的再利用往往损害软件的维护性。 如果AB共享c,而a修改c,则b不行政许可。 软件复用性(reuse )设定修订2、物件导向设定修订的再利用:数据的抽象化、封装、继承、多态。 多重化的焦点是包含宏命令商业逻辑的抽象的水平。不限于函数和算法。 可维护性的萨通讯端口可扩展性extensibility; 包装、继承、多态通过开关原则、里氏置换原则、依存逆转原则、组合/集约复用来保证灵活性flexibility的复用、
4、相对独立,与其他模块相松耦合定。 修改后,此模块不会传递给其他模块。 用开关原则、德米特里奥定律、接口隔离原则保证。 如果可插入性pluggability被复用,则新的类将替换为旧的类,从而容易实现。 根据开关原则、里氏置换原则、组合/聚合服用原则、依存逆转原则进行保证。物件导向设定修订原则、维护性复用性开闭原则接口类里氏置换原则接口隔离原则合成/汇集复用原则分割原则、开闭原则1、开闭原则OCP : open-closed principle ):1个软件实体必须向扩展开放,向修正封闭修改模块时,请不要修改地进行扩展,即不要修改原代码地变更该模块的动作。 增加查询密码实例满足开闭原则设定修订的
5、优势: 1、适应性和灵活性2 .实现稳定性和连续性实现这一原则是实现了更高层次、复用、易维护的系统。开闭原则2、牛鼻子点:抽象设定修订:定义系统一次丢失、不修改的抽象设定修订。 使这个设定修正成为可能的无限行为已在实现层实现。 在JAVA中,抽象JAVA类或JAVA接口将所有具体类必须提供的方法的特征定义为系统设置修订的抽象层。 这个抽象层预见了所有可能的扩展。 因此,扩展不需要修改抽象层。 在开关原则中,满足了“关闭修正”的原则。另外,从抽象层导出的具体新类可以改变系统的动作或开放给扩展。开关原则3、要点:抽象化但难以归纳的汽车定义:根据国家最新标准GB/T 3730.12001定义的汽车:
6、由动力驱动的、具有4个以上车轮的非轨道装载车辆,主要用于牵引运输人员和货运商及货物的车辆特殊用途。 此术语包括: a )与电力线相关的车辆,如无轨电车;b )三轮车,整车维修质量超过400公斤。 电力动车组是汽车,马拉四轮车怎么样?根据美国汽车工程师学会标准SAEJ 687C的汽车定义,是由自己的动力驱动,装载驾驶装置,能够在固定轨道以外的道路和地区运送客船和牵引车车辆的车辆。 双轮摩托车是汽车吗?根据日本工业标准JISK 0101,汽车的定义是,自己搭载发动机和操纵机构,不依靠固定轨道和架线,可以在陆上行驶的车辆。关于开闭策略3、具有可变性的软件包策略,考虑在设定修正中可能发生什么变化,将其
7、打包,考虑可能发生什么以使该变化不被重新设定修正。 也就是说,1 .变量必须封装在一个对象中,而不是分散在查询密码的许多犄角旮旯中。 同一可变性不同的图像表示同一继承层次中的特定子类。 继承应该被看作是软件包变化的方法。 2 .一方的可变性与另一方的可变性混合使不得。 类图的继承结构通常不超过两个级别。 否则,是否意味着两种不同的可变性混合存在?开关策略4、策略模式和开关策略模式:如果有一系列的算法,是否可以封装和更换每个算法?来自可变性的打包原则。 是否要查看策略模型? 开闭原则和java日历表设定修订? 怎么解决?物件导向设置修订原则、维护性复用性开关原则接口抽象类替换原则接口隔离原则合成
8、/汇集复用原则中间规则、JAVA语言接口、接口:电源插座、可微波炉、可笔记本电源。 如果可以动态删除一个组件,然后将其替换为另一个组件,则该组件是可插入的组件。 插座,即接口。 电气设备能够插入部件的可插入部件的关键是存在共同的接口。 接口是实现组件可插入性的重要接口的定义。 接口是来自系统中不断出现的方法的方法特征的集合。 JAVA语言的接口,定义接口:“接口”(interface )是来自系统中不断出现的方法的方法特征的集合。 接口只是方法的特征,没有方法的实现,因此在不同的地方实现这些个的方法时,可以有完全不同的动作。 接口,与类最重要的区别:接口只描述方法的特征,不提供方法的实现。 类
9、不仅赋予方法的特征,还赋予方法的实现。 接口分割方法的特征和方法的实现。 说唱乐接口、类似角色和与该角色相关的操作和属性,实现该接口的类就是扮演该角色的演员。 一个角色可以由不同的演员扮演不同的演员之间,除了可以扮演共同的角色以外,不要求任何共同点。 如果没有JAVA语言的接口,接口的语义接口:如果对象相互关联,则通常需要利用其他对象的行为来完成一项任务。 如果将对其他对象行为的调用作为硬查询密码写入类,则插入性几乎为零。 通过声明类的继承、抽象超类、子类的行为,具体的类继承了超类,以不同的方式实现了超类所声明的行为。 在客户端,可以动态决定使用哪个特定的子类,具有一定的插入性。 但是,Jav
10、a是单一继承语言,一个类只能继承一个超类。对于子类,不能添加新的超类功能。 是子类的祖父类,除非设置了超类。 然而,当子类的具体功能如上所述地改变时,结构经常被广泛地调整。 JAVA语言的接口,接口是插入性的保证关联:一个对象需要完成一个塔斯克,知道其他对象的方法需要调用,对象和其他对象的关联称为关联。 关联的可插入性:关联,调用类中的方法。 Integer a=String.ToInteger(“12”)关联是接口,而不是特定的类。 实现接口的所有类都可以满足要求。 这使您可以将此关联从一个特定类动态转换为另一个特定类调用的可插入调用。 void mothed1(String a )一个对象
11、免不得,是需要调用另一个对象的方法。 对于接口,此调用可以调用实现该接口的特定类。 您可以完全动态地确定当前对象调用哪个特定类的实例。 JAVA语言的接口,JAVA的类型控制JAVA接口和抽象类,宣告新的类型: JAVA设计大师主要使用JAVA接口和抽象类,将软件单位和内部和外部结合,实现松耦合。 也就是说,必须使用JAVA接口和抽象类而不是特定类来声明变量的类型、声明残奥元类型、声明方法的门类型和强制类型转换数据。 更好的方法是只使用接口,而不使用抽象类。 理想情况下,特定的java类只需要实现在java接口和抽象类中声明的方法,而不应该提供多元化的方法。物件导向设置修改原则、可维护性复用性
12、开闭策略接口抽象类策略反转策略接口隔离策略合成/聚合复用策略中值规则、抽象类1、JAVA两种:抽象类:不能斯坦共和国化、不能生成对象、可以实现具体方法。 一定是用于继承的特定类。 可以斯坦共和国化。 特定的类不用于继承。 抽象类和子类的关系实际上是数字大板块方法的应用。 在抽象类和具体类的树结构中,枝节点是抽象类,叶结点是具体类。 查询密码代码重构添加老虎钳(如果b是a的子类,则建构c、抽象类或接口)、抽象类2和抽象类必须尽可能多地移动从抽象类到多个特定类的继承关系中的公共查询密码。 这样可以提供查询密码的再利用率。 由于查询密码出现在公共超类中,而不是子类中,因此,如果更改查询密码,程序设计
13、师只需修改一个位置,即可提高计程仪柱的可维护性。 抽象类包含尽可能少的数据,消耗内存,复用率不高,所以将数据尽可能向下移动。 也就是说,尽量放在特定的类而不是超类上。 抽象类3不是针对抽象计程仪编程的核心思想的抽象编码,主要是针对超类的具体类的计程仪编程。 重要的是解决查询密码复用的问题。 为了正确使用继承继承,类分为类对接口实现和接口继承两类,类继承类并实现继承。 实现继承,容易被滥用。 抽象类尽量使用合成而不是继承来实现复用的目的。 以“组合/聚合复用原则”为参考,例如抽象类4,继承复用的使用情况继承表示“一般化、特殊化”关系,抽象的子类表示一般,派生的具体类表示特殊。 Peter Coa
14、d条件: 1,子类是超类的特殊类,而不是超类的角色,以允许使用抽象类。 Has-A关系必须使用聚合关系Is-A关系符合继承关系。 Has-A :一个班是另一个班的角色-黑社会的弟弟,大老板的角色,可以交换:人,黑社会的弟弟。 有一次,也可以制作大老板。 Is-A :一个班是另一个班的一种。 鸟-麻雀,白天鹅的种类是不能交换的:鸟,有的是麻雀,有的是白天鹅。2 .如果需要将子类替换为其他类的子类,则绝对不会。 3 .子类有扩充超类的责任,没有替换超类、取消注册的责任。 如果子类需要大量替换超类的行为,则不适用。 4 .只能从分类学的角度使用继承,不能从工具类中继承,面向对象的设定修改原则、维护性
15、复用性开关原则接口抽象类里氏替换原则依赖于反转原则接口隔离原则合成/集约复用原则德米特里法则,里氏替换原则1, 孙悟空全盖偏西游记第三回:四海千山都拱桥伏九幽十类被除名孙悟空由阴司牵着,大受打击,十个冥王忙说错,悟空匿名了。 悟空亲自审查,注上孙悟空的名字,直到它的灵魂字达到一千三百五十号,是天产的石猿,因此寿三百三十二岁,善终。 悟空说:“我也不记得寿数几何,只用名字就行,把笔拿来! “那位法官拿着忙不迭笔,把浓墨装满了。 悟空曾带着记账本来过猴子,但有名的都查过了。 螟蛾下册道:“算了,算了! 今天不适合你! 中所述情节,对概念设计中的量体执行面积分析。 的双曲馀弦值。 的双曲馀弦值。 的
16、双曲馀弦值。 的双曲馀弦值。 激烈醒来是南柯一梦。 好不容易伸了伸腰,只听见四健将和众猴在高声地叫,“国王,你吃了多少酒,今晚睡了还不醒? ”“这是一个很好的例子。” 悟空说:“醒来还小,可是我梦见两个人来这里勾住我,就把我带到幽冥的城门外,才醒来。 我出示神通,向森罗殿高声地嚷嚷,和那个十殿阎王吵架,看了我们的生死簿,有我等的名字,都由我检查,那个仆人没有管辖。 ”“这是一个很好的例子。” 猴子们低头致谢。 从此,山猿没有很多老人,因为阴司无名。 美丽的猴王说了以前的事,四健报告了各个孔妖王,来庆祝。 不到几天,就有六兄弟姐妹来庆祝,听卖名,一切欢乐,每天的聚会都没问题。 里氏置换的原则1、
17、孙悟空的全盖偏美猴王将“猿”这个名字全部删除,即猴适用,石猴、肉猴全部适用。 或者,应用基类并应用所有子类。 这是地震震级置换的原则。地震震级替换原则1、地震震级替换原则:只要一个软件实体使用一个子类,则必须将其应用于该子类,并且无法知道子类对象和子类对象之间的差异。 两个类、一个base类、一个derived类和derived类是base类的子类。 如果b是基类对象,则d是子类对象。 如果定义了方法(base b ),则必须为方法(d ); 相反,置换不成立。 即,如果是method2(derived d ),则method2(b )同样不成立。 置换地震震级的原则是继承多重化的基础。 只有
18、当派生类可以替换子类并且不影响软件用户针织面料的功能时,才能实际重用基类。里氏置换原则1、基于JAVA的里氏置换原则的支持:基础类Base、对象b; 子类Sub、对象d; 一般而言,如果有method(Base b ),则存在method(d )问题:基类Base,实现函数public run (); 函数private run (); 分析:里氏置换原则的要求是,只要是基类适用的场所,子类一定适用。 因此,子类必须具有基类的所有接口。 可以做得更宽,但不能做得更少。 如果method调用b的公共run (),也应该可以调用d的run ()。 但是,如果子run被定义为私有,则不能调用。 在这种情况下,会发生错误。 因此,从地震震级替换原理的观点来看,将Sub中的run定义为私有类型是不可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 武夷学院《会计实训》2025-2026学年期末试卷
- 厦门海洋职业技术学院《方剂学》2025-2026学年期末试卷
- 漳州城市职业学院《康复评定技术》2025-2026学年期末试卷
- 厦门华天涉外职业技术学院《工程管理概论》2025-2026学年期末试卷
- 安徽卫生健康职业学院《新闻编辑》2025-2026学年期末试卷
- 网商改进能力考核试卷含答案
- 体检科工作总结报告
- 丁苯橡胶装置操作工操作能力测试考核试卷含答案
- 铸造碳化钨制管工岗前道德考核试卷含答案
- 稀土抛光粉工风险评估与管理测试考核试卷含答案
- 东南大学版三基内科
- 灰土挤密桩施工分包合同
- CJ/T 266-2008 饮用水冷水水表安全规则
- 2024年广东省东莞市常平镇机关事业单位招聘编外86人历年(高频重点提升专题训练)共500题附带答案详解
- 2024山东特检集团招聘24人公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 2022室外排水设施设计与施工-钢筋混凝土化粪池22S702
- 2022版义务教育(道德与法治)课程标准(附课标解读)
- 设计学研究方法书
- 农业科技成果转化与推广应用管理实践
- JCT2278-2014 加工玻璃安全生产规程
- 绿野仙踪剧本
评论
0/150
提交评论