软件体系结构设计模式
54页1、INTEL CONFIDENTIAL设计模式主讲:张春祥HUST Software College 模式 模式描述了一个在我们的环境中不断出现的问题,然后描述 了该问题的解决方案的核心。通过这种方式,你可以无数次 地使用那些已有的解决方案,无需在重复相同的工作。 -建筑的永恒之道Alexander 模式其实就是解决某一类问题的方法论。 把解决某类问题的方法总结归纳到理论高度,那就是模式。 模式对问题的描述以及对问题的解答应具有高度的抽象性和 代表性。 模式是对现实生活某类现象的共同特质的高度抽象,描述了 事务或者现象的规律,这种规律以及解决方法对于类似的现 象同样有用。2HUST Software College 软件的设计模式 指在软件设计和开发过程中,不断总结出来的,反应了某一 类设计问题的解决方案。 模式是一种指导,在一个良好的指导下,有助于你完成任务 ,有助于你作出一个优良的设计方案,达到事半功倍的效果 。而且会得到解决问题的最佳办法 。 设计模式使人们可以更加简单方便地复用成功的设计和体系 结构。 设计模式帮助你从别人的成功经验而不是你自己的失败那里 学到更多东西;- Mar
2、k Johnson 设计模式提供了一种共享经验的方式,可以使团体受益和避 免不断的重复发明。3HUST Software College 模式概要模式只是武功套路。其实真正的内功心法是: 针对接口编程针对接口编程 优先使用对象组合,而不是类继承优先使用对象组合,而不是类继承 找到并封装变化点找到并封装变化点4HUST Software College 设计原则面向接口编程的原则 面向接口编程,而不是面向实现编程。 可变性封装的原则 在设计时应当考虑系统中什么可能会发生变化,或者什么特性具备多变的特征 。这种变化不应该散落在代码中的各个角落,而是应该被适当的封装起来,以 便于维护以及扩展; 开闭原则 软件中的实体(包括类,模块,函数等等)应当是可扩展的(开),而不应被 修改(闭)。 里氏替换原则 父类的方法都要在子类中实现或者重写。 不允许子类出现父类所没有定义的方法。 依赖倒转原则 高层模块不应该依赖于低层模块。二者都应该依赖于抽象。 抽象不应该依赖于细节。细节应该依赖于抽象。5HUST Software College 设计原则组合/聚合复用原则 尽量使用组合/聚合、尽量不使用继承
3、在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对 象通过向这些对象的委派达到复用这些对象的目的 接口隔离原则 避免接口污染; 恰当的划分角色和接口; 从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小的 接口上的 使用多个专门的接口比使用单一的总接口要好 所有设计原则的目标都是为了使软件:降低耦合,增强灵活性。6HUST Software College 模式分类 创建模式(Creational Pattern) AbstractFactory;Builder;FactoryMethod;Prototype;Singleton 结构模式(Structural Pattern) Adapter.4Class;adapter.4Object;Bridge;Composite.s;Composit e.t;Decorator;Faade;Flyweight;Proxy 行为模式(Behavioral Pattern) ChainOfResponsibility;Command;Interpreter;Iterator;Mediator ;Memento;O
4、bserver;Strategy;State;TemplateMethod;Visitor78HUST Software College 工厂方法9HUST Software College 工厂方法10HUST Software College 抽象工厂11HUST Software College 抽象工厂意图:为特定的客户(或情况)提供特定系列的对象。提供一个创建一系列相关或相 互依赖对象的接口,而无需指定它们具体的类。 问题:一系列相关的对象需要被实例化。 12HUST Software College 建造模式13HUST Software College 建造模式14HUST Software College 单例/单子模式15HUST Software College 单例/单子模式16HUST Software College 类的适配器(Adapter)模式 意图:将一个类的接口转换成客户希望的另外一个接口。此模式使得原本由于接口 不兼容而不能一起工作的那些类可以一起工作。 问题: 你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可
《软件体系结构设计模式》由会员宝路分享,可在线阅读,更多相关《软件体系结构设计模式》请在金锄头文库上搜索。
一种高炉喷煤喷吹罐底部硫化装置密封改造
谈谈公文写作的两个关键问题
大学生职业生涯规划之课件【P33】
2018高考物理(新课标)一轮复习讲解第六章机械能第3讲机械能守恒定律及其应用
两学一做四个合格做合格党员PPT课件
软件体系结构-作业2017-3
嵌入式Linux操作系统第2章-1
售前交流技巧和经验
《民主选举:投出理性一票》课件(新人教版必修2)1
路面工程施工与检测单元一沥青混合料路面基础知识
有机反应机理(2013年1月21日)
武汉枫叶学校4BC分级考试说明
思想品德《友好交往礼为先》课件(人教新课标八年级上)
青开八中教师草根讲坛张所治
医患关系紧张的主要原因
【南昌银沙湾农庄】项目介绍
苏教版六年级语文8《三打白骨精》
高三第二阶段历史复习要略(周崴)
语言表达准确生动得体
2017语文S版语文一年级下册识字4《拍手歌》课件3
2024-06-13 10页
2024-06-13 11页
2024-06-13 11页
2024-06-13 9页
2024-06-13 14页
2024-06-13 7页
2024-06-13 8页
2024-06-13 7页
2024-06-13 9页
2024-06-13 9页