- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件架构复习笔记(5) -- 设计模式20 Jun 2012At NJU普通 Programming to Interface 有哪些手段?集合类型?PTI?有那些手段普通:模块化信息隐藏普通情况下的Programming to Interface最需要的是低耦合(即基于方法调用的耦合:控制耦合、印记耦合和数据耦合),进一步需要信息隐藏(通过方法表现外部行为,同时隐藏内部实现)集合类型:Iterator PatternProxy PatternPrototype Pattern?OCP?有那些手段(提示:不只是继承)Be open for extension: module’s behavior can be extendedBe close for modification: source code for the module must not be changesAggregationDynamic Binding: PolymorphismRuntime registration: Event StyleStartup binding: Configration filesLoad Binding: Component replacementAdherence to defined protocals无论是哪一种绑定,或者什么,都必须在设计或使用的时候遵循某一种接口或者是规范。Modifiability TacticsLoclaize change:Semantic coherenceAnticipate expected changeGeneralize moduleLimit possible optionAbstract common servicePrevention of ripple effectHide informationMaintain existing interfaceRestrict communication pathsUse an intermediaryDefer binding time:Runtime registrationConfiguration filesPolymorphismComponent replacementAdherence to defined protocals一个模块的信息隐藏有哪两种基本类型,各自有哪些处理手段?两种决策类型:需求:即一个模块的接口功能与模块内部程序细节的分离给出功能接口,隐藏功能实现程序的细节basic secrete: external behavior VS internal implementationhides the implementation of an important design decisionEspecially if there is a list of all possible design changes is made – hiding assumption listall design decisions are independent of each other使用facade使用controller都是增加一个中间的东西来是接口和内部细节分离变化:将要发生变化的程序部分需要进行一个决策给出需要修改部分的接口,隐藏待修改部分的实现程序细节additional secrets: changesYou then separate each design secret by assigning it to its own class, subroutine, or other design unit.Next you isolate (encapsulate) each secret so that if it does change, the change doesn’t affect the rest of the program.strategy pattern / state pattern / bridge pattern共性,可变性实现共性与可变性有哪些手段?对给定的场景,给出共性与可变性的设计方案,将继承和聚合搞好手段:聚合,继承(多态)在解决De-Coupling时,常常使用哪些Indirection的手段?提示:对给定场景给出Indirection的解决方案(从常见模式来考虑)Avoiding Repetition: DO it OnceDIP?defining a interface in a module that a separate module intends to implement is fundamental way to break dependencies and r
您可能关注的文档
最近下载
- 匹克球理论考试试题库及答案.docx VIP
- 一+职场应用写作与交流(一):求职和应聘(教学设计)-【中职专用】高二语文上(高教版2023职业模块).docx
- 一 《微写作•描述事物》(教学课件)-【中职专用】高二语文同步精品课堂(高教版2023·职业模块).pptx VIP
- 新疆天泽水利投资发展有限公司招聘考试真题2024.docx VIP
- 匹克球运动 场地的使用要求及检验方法.pdf VIP
- 第十一章第一节《杠杆》实验教学说课稿教科版物理八年级下册.ppt
- TUNP-卧式操纵盘离心爆珠在线植入设备.pdf VIP
- 草布、衣服、床单被服洗涤服务方案.docx
- 2024年新疆天泽水利投资发展有限公司招聘真题.docx VIP
- 高标准农田鱼眼泡低洼地治理方案.docx
文档评论(0)