付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章设计优
大连理工大学软件学 小即是YAGNI(YouAin'tGonnaNeedIt):这条原则的
大连理工大学软件学 设计的“味道 系统的改动重重。对代码重构,导致原有设计的破坏和。
大连理工大学软件学 设计的“味道导致修改无法保持一致。和粘贴的编码习惯
大连理工大学软件学 设计的优运行时的多态:多态性在结构上形成类的继承层重写(Override)的要求+Circle(center:Point,radius:+Circle(center:Point,radius:-outG:-inG:
-x:-x:-y:+Point(x:int=0,y:int=+distance(p:Point):+getX():+getY():+print():+moveto(dx:int,dy:int):
+isWithin(p:+isWithin(p:Point):+area():+print():+Frame(outg:S,ing:+show():1+Rectangle(lu:+Rectangle(lu:Point=Point(0,0),rd:Point=1
大连理工大学软件学 设计的优耦合的消息链:交互集中的设计与交互分散的设 pa:::pa:::
大连理工大学软件学 设计的优关
returnd.getLeft()==||d.getRight()==}//inGamereturn}//inDominoreturnleft==d.right||right==}
大连理工大学软件学 设计的优 的遗赠 新的功能会非常容易地在新类中进行重用,而依赖也不再强
大连理工大学软件学 设计的优BABA
大连理工大学软件学 设计的基本原证处理:发现变化,变化,以不变应
大连理工大学软件学 接 原 原则(TheInterfaceSegregationPrinciple,ISP)有两层含义:通过接口只将需要的操作“”给客户类,而将不需要的操作隐。接口在
大连理工大学软件学 ,使得Client不受变
}}+left():+right():+forward():+reverse():+climb():+setSpeed(speed:double):
大连理工大学软件学 驾驶相关的操作是不应该给这些维修者类。
大连理工大学软件学 面向接口的作连接不必硬绑定(hardwire)到一个具体
大连理工大学软件学 依赖倒置原BBABA
大连理工大学软件学 开放封闭原开放封闭原则(TheOpen-ClosedPrinciple,OCP):两个基本的特OCP是相对的,没有绝对符合OCP软件系统的所有模块不可能都满足OCOCP的模块数量。
大连理工大学软件学 +getPrice():-doubletotalPrice(Part[]part){doubletotal=0;for(intif(parts[i]instanceofMotherboard)total+=(1.45*parts[i].getPrice());elseif(parts[i]instanceofMemory)total+=(1.30*parts[i].getPrice());total+=}return}publicdoubletotalPrice(Part[]for(inttotal+=}return}
大连理工大学软件学 }total+=}}
大连理工大学软件学 Liskov替换原当子类型替换父类型后不能父类型中的前置条件和后置条件,即一个子类型不得具有比父类型的限制,这 大连理工大学软件学
对应代码单一职责原单一职责原则(SingleResponsibilityPrinciple,SRP)中?
大连理工大学软件学 +dial(pno+dial(pno:string):+hangup():+send(c:char):+receive():+dial(pno:string):+hangup()+dial(pno:string):+hangup():D+send(c:char):+receive():拆分,否则可以保留功能共存(装饰模式)。
大连理工大学软件学 合成/聚合复用原合成/聚合复用原则(Composite/AggregateReuse
大连理工大学软件学 ----frequent-frequentflyer---authorizationAgentAgent
多重继承中类型的确定是静态的,即人的已经确认,无法在运行时动态更改,而“乘客”的多重继承需要生成大量的底层类,以适应具有不同组合的人群,如同时具有学生、、乘客、实习者等的人。这些问题产生的原因就是实是两个耦合性很低的实体,我们把他们生拉硬套放在了一起,了事物
大连理工大学软件学 ------authorization--authorization-frequentflyer-
大连理工大学软件学 继承的使而非“是一个由父类所扮演的角色”。 的一个对象。
大连理工大学软件学 模模式是表示周(Context)、动机(SystemForces)、解决方案(Solutio)三个方面关系的一个规,每个模式描述了一个在某种周境下不断重发生的问,以及该问题解决方案的 所在。层次:架构模式(ArchitecturalPattern)、设计模式(DesignPattern)
大连理工大学软件学 模式的层架构模式是模式中的最-计模式——FactoryPattern,ObserverPattern等等。
大连理工大学软件学 设计模
大连理工大学软件学 范围类对象Chain
大连理工大学软件学 抽象工厂模
大连理工大学软件学
大连理工大学软件学 +getChessBoard():+getChessPiece():
+PackBox(cf:+computeVolume():
+getArea():
+getHeight():
-boolean:-type:
-color:
-boolean:
大连理工大学软件学 两种产品对象对于不同的棋类游戏(如中国象棋、跳棋或围棋等盘接口(ChessBoar)(ChessPiece)同时利用一个抽象的棋类工厂(Chessacoy)这个例子中通过工厂模式的使用可以使得添加新的棋(比如积木游戏)需要完全重建一套工厂类和产品体
大连理工大学软件学 单例模
使用主要是为了方便对相关的业务类进行管理和,因此通常它们在系统中只存在一个实例。类似本,比如银行系统中每个账户类的实例。并提供一个它的全局点。单例模式要求:(1)(2)提供一个公有的方法获取该类的实例;(3)类中实例变量为私有或受保护
大连理工大学软件学 适配器模
大连理工大学软件学 publicclassprivateTargetpublicClient(Target}publicvoid}publicstaticvoidmain(String[]Clientc=newClient(new}
publicclassAdapterimplementsTarget{privateAdapteeadaptee=null;publicadaptee=new}publicvoidreturn}}+Client(t+Client(t:
大连理工大学软件学
大连理工大学软件学 桥模//in//in
大连理工大学软件学 装饰模
//inoperation()//inoperation()//inoperation()
大连理工大学软件学 门面模门面模式提供了一个次的接口,使得子系统
大连理工大学软件学 称为“基于契约的设计(DesignbyContract)”。
大连理工大学软件学 不同的内部功能于一身,这是否了单不单一职责原则的精神。
大连理工大学软件学 模 它给这些资源对象提供一个对象,并由对象控制对资源对象的使用,起到
大连理工大学软件学 模式也可以并不知道真正的被对象,而仅仅持有一个被对象的接口,这时候对象不能够创建被对象,被对象必须有系
大连理工大学软件学 观察者模听某一个对象;当这个对象在状态上发生变化时,会式,其中的对象就相当于MVC中的模
大连理工大学软件学 ----for(Observerfor(ObserverobserverState=每个观察者对象为了得到对象的及时通知,需要事先在对象中进行订阅,并且在不需要的时候进每个具体的观察者需要实现自己的更新方法
大连理工大学软件学 策略模(Strategy)
大连理工大学软件学
}}}}
大连理工大学软件学 状态模状态模式(State)状态模式允许一个对象在其内部状态改变的时候改变状态模式的意图是让一个对象在其内部状态改变的时状态模式需要对每一个系统可能取得的状态创建一个
大连理工大学软件学 -location:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西文演数字文化产业有限公司招聘风控法务岗位1人笔试备考试题及答案解析
- 2026江西赣州全南县金融服务中心招募招聘1人笔试备考试题及答案解析
- 2026西南证券股份有限公司中层管理人员招聘1人笔试模拟试题及答案解析
- 2026上半年北京市人民检察院所属事业单位招聘1人考试备考题库及答案解析
- 2026四川成都市简阳市委统战部招聘编外人员1人笔试模拟试题及答案解析
- 2026黑龙江哈尔滨阿城区中医医院面向社会招聘编制外合同制护理岗位12人笔试备考试题及答案解析
- 2026浙江台州市黄岩区文广旅体局招聘编制外人员2人笔试备考试题及答案解析
- 2026四川内江商茂商务服务有限责任公司招聘3人考试备考题库及答案解析
- 中车株洲电力机车有限公司2026届春季校园招聘笔试参考题库及答案解析
- 2026年中国科大地球和空间科学学院劳务派遣岗位招聘笔试模拟试题及答案解析
- (2025年)检验检测机构授权签字人考核试题(附答案)
- 检验科室内质控培训课件
- 处方书写及管理办法
- 2025年数字经济下灵活就业发展研究报告-新京报-202605
- 大学雄安校区第一组团项目水土保持方案报告书
- 7s标准化管理制度
- 2025年河南省郑州市中考一模英语试题及答案
- T/CHTS 10163-2024公路桥梁结构监测系统施工质量检验与评定标准
- 锂电池防护用聚烯烃泡沫塑料 编制说明
- 店铺合作摆摊协议书
- 校园VI设计案例体系解析
评论
0/150
提交评论