《设计模式引言》PPT课件.ppt

上传人:sh****n 文档编号:13173277 上传时间:2020-06-05 格式:PPT 页数:31 大小:1.14MB
返回 下载 相关 举报
《设计模式引言》PPT课件.ppt_第1页
第1页 / 共31页
《设计模式引言》PPT课件.ppt_第2页
第2页 / 共31页
《设计模式引言》PPT课件.ppt_第3页
第3页 / 共31页
点击查看更多>>
资源描述
设计模式,-可复用面向对象软件的基础主讲人:吴刚,面向对象编程(OOP:ObjectOrientedProgramming),。,OO编程原则,1开闭原则(Open-ClosedPrinciple)模块在开放性方面应该是开放的(易于扩展),在更改性方面应该是封闭的(易于修改而不需要更改类的源代码)。2Liskov替换法则(LiskovSubstitutionPrinciple)任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,OO编程原则,3针对接口编程组件之间应该尽可能使用接口进行通讯,具体的业务逻辑由子类去实现不变的接口。4将可变的部分和不可变的部分分离任何时候都将不变的接口与可变的实现分离。如果使用继承的复用技术,我们可以在抽象基类或接口中定义好不可变的部分,而由其子类去具体实现可变的部分。如果使用对象组合,我们可以定义好不可变的部分,而可变的部分可以由不同的组件运行时动态配置。,OO编程原则,5优先使用对象组合,而不是类继承优先使用黑箱复用(对象组合)而不是白箱复用(类继承)。利用对象组合我们可以在运行时动态配置组件的功能,并防止类层次规模的爆炸性增长。6高内聚,低耦合很简单的一句话却是软件设计的精华所在:一个模块包含的功能彼此相关,相互依赖,而与外界很少关联,并且没有承担过多的责任,这样的模块(子系统或者类)称之为高内聚的(HighCohesion)。如果一个模块为实现自身的功能,并不需要了解或者依赖太多外部的知识,则该模块是低耦合的(LowCoupling)。,OOP菜鸟成鹰之路,前人铺路,后人乘凉。-使用已验证的好设计方案,设计模式概述,设计模式概述,设计模式概述,每一个设计模式描述一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次一次地使用该方案而不必做重复劳动。ChristopherAlexander(克里斯托弗亚历山大)软件领域的设计模式起源于建筑学。,设计模式概述,1977年,建筑大师Alexander出版了APatternLanguage:Towns,Building,Construction一书。受Alexander著作的影响,KentBeck和WardCunningham在1987年举行的一次面向对象的会议上发表了论文:在面向对象编程中使用模式。,GOF(“四人帮”)之书,目前,被公认在设计模式领域最具影响力的著作是ErichGamma、RichardHelm、RalphJohnson和JohnVlissides在1994年合作出版的著作:DesignPatterns:ElementsofReusableObject-OrientedSoftware(中译本设计模式:可复用的面向对象软件的基本原理或设计模式),该书被广大喜爱者昵称为GOF(GangofFour)之书,被认为是学习设计模式的必读著作,GOF之书已经被公认为是设计模式领域的奠基之作。,设计模式概述,设计模式在一定的抽象层次上讨论模式,是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述学习设计模式不仅可以使我们使用好这些成功的模式,更重要的是可以使我们更加深刻地理解面向对象的设计思想,非常有利于我们更好地使用面向对象语言解决设计中的问题。,设计模式的要素,模式名称(patternname)问题(problem)解决方案(solution)效果(consequences),设计模式的要素,将以上四个要素细化,通常一个设计模式可以用以下内容进行表述:模式名、意图、别名、动机、适用性、结构、参与者、协作、效果、实现、代码示例、已知应用、相关模式,设计模式的三种类型,创建型(FactoryMethod)创建型对象模式包括抽象工厂(AbstractFactory)、建造(Builder)、原型(Prototype)、单例(Singleton)四种模式。,设计模式的三种类型,结构型(Adapter)结构型的对象模式则描述了对象的组装方式,如适配器(Adapter)对象模式、桥接(Bridge)模式、组合(Composite)模式、装饰(Decorator)模式、外观(Facade)模式、享元(Flyweight)模式、代理(Proxy)模式等。,设计模式的三种类型,行为型(Interpretation,TemplateMethod)行为型的对象模式使用对象复合方法而不是继承,它描述一组对象怎样协作完成单个对象所无法完成的任务,如职责链(ChainofReponsibility)模式、命令(Command)模式、迭代器(Iterator)模式、中介者(Mediator)模式、备忘录(Memento)模式、观察者(Observer)模式、状态(State)模式、策略(Strategy)模式、访问者(Visitor)模式等。,设计模式基础-UML,UML类图,在UML中,使用一个长方形描述一个类的主要构成,将长方形垂直地分为三层。第1层是名字层,类名字是常规字形,表明该类是具体类,类名字是斜体字形,表明该类是抽象类。第2层是变量层,也称属性层,列出类的成员变量及类型,格式是“变量名字:类型”。第3层是方法层,也称操作层,列出类的方法及返回类型,格式是“方法名字(参数列表):类型”。,UML类图类,Student,+name:String#age:int-money:double,+setName(String):void#printMess():void+getAge():intsetAge(int):void-getMoney();,名字层,变量层,方法层,设计模式基础-UML类图,设计模式基础-UML,UML类图接口,表示接口的UML图和表示类的UML图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直地分为三层。第1层是名字层,接口的名字必须是斜体字形,而且需要用修饰名字,并且该修饰和名字分列在2行。第2层是常量层,列出接口中的常量及类型,格式是“常量名字:类型”。第3层是方法层,也称操作层,列出接口中的方法及返回类型,格式是“方法名字(参数列表):类型”。,UML类图接口,Creator,+MAX:int,+factoryMethod():Product,名字层,常量层,方法层,设计模式的使用,1正确使用2避免教条3模式挖掘4避免乱用5了解反模式,小结,面向对象编程的原则设计模式的起源、要素及分类与设计模式相关的UML类图设计模式的意义及使用,课后练习(二选一),以下两题任选一,遵循面向对象编程的原则完成(1)设计一个计算器程序,能完成加减乘除四则运算功能(2)设计数字输出程序,要求能根据输入情况,输出100以内偶数、奇数,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!