欢迎来到天天文库
浏览记录
ID:45659148
大小:4.20 MB
页数:67页
时间:2019-11-15
《《设计模式及其应用》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章设计模式及其应用本章目的:了解设计模式的概念掌握设计模式的三大分类掌握常用的几种设计模式了解各设计模式的优点、不足掌握设计模式的使用原则及策略设计模式概述每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。GoF23种设计模式历史性著作《设计模式:可复用面向对象软件的基础》一书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位。该书四位作者被人们并称为Gangof
2、Four(GoF),“四人组”,该书描述的23种经典设计模式又被人们称为GoF23种设计模式。由于《设计模式:可复用面向对象软件的基础》一书确定了设计模式的地位,人们通常所说的设计模式隐含地表示“面向对象设计模式”。但这并不意味“设计模式”就等于“面向对象设计模式”,也不意味着GoF23种模式就表示了所有的“面向对象设计模式”。除了“面向对象设计模式”外,还有其他设计模式。除了GoF23种设计模式外,还有更多的面向对象设计模式。设计模式与面向对象面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”是那些可以满足“应对变化,提高复用”的设计。面向对象
3、设计模式描述的是软件设计,因此它是独立于编程语言的,但是面向对象设计模式的最终实现仍然要使用面向对象编程语言来表达。面向对象设计模式不像算法技巧,可以照搬照用,它是建立在对“面向对象”纯熟、深入的理解的基础上的经验性认识。掌握面向对象设计模式的前提是首先掌握“面向对象”!从编程语言直观了解面向对象各种面向对象编程语言相互有别,但都能看到它们对面向对象三大机制的支持,即:“封装、继承、多态”封装,隐藏内部实现继承,复用现有代码多态,改写对象行为使用面向对象编程语言(如java/C#),可以推动程序员以面向对象的思维来思考软件设计结构,从而强化面向对象的编程范式。
4、但OOPL并非面向对象的全部OOPL没有回答面向对象的根本性问题——我们为什么要使用面向对象?我们应该怎样使用三大机制来实现“好的面向对象”?我们应该遵循什么样的面向对象原则?任何一个严肃的面向对象程序员,都需要系统地学习面向对象的知识,单纯从编程语言上获得的面向对象知识,不能够胜任面向对象设计与开发。重新认识面向对象对象是什么?从概念层面讲,对象是某种拥有责任的抽象。从规格层面讲,对象是一系列可以被其他对象使用的公共接口。从语言实现层面来看,对象封装了代码和数据。有了这些认识之后,怎样才能设计“好的面向对象”?遵循一定的面向对象设计原则熟悉一些典型的面向对象
5、设计模式面向对象设计原则面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则面向对象设计原则概述软件的复用(Reuse)或重用拥有众多优点,如可以提高软件的开发效率,提高软件质量,节约开发成本,恰当的复用还可以改善系统的可维护性。面向对象设计复用的目标在于实现支持可维护性的复用。在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。面向对象设计原则概述面向对象设计原则和设计模式也是对系统进行合理重构的指南
6、针.重构(Refactoring)是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。MartinFowler面向对象设计原则概述面向对象设计原则简介常用的面向对象设计原则包括七个,这些原则并不是孤立存在的,它们相互依赖,相互补充。设计原则名称设计原则简介重要性单一职责原则(SingleResponsibilityPrinciple,SRP)类的职责要单一,不能将太多的职责放在一个类中。★★★★☆开闭原则(Open-ClosedPrinciple,OCP)软件实体对扩展是开放的,但对
7、修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能。★★★★★里氏代换原则(LiskovSubstitutionPrinciple,LSP)在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象。★★★★☆依赖倒转原则(DependencyInversionPrinciple,DIP)要针对抽象层编程,而不要针对具体类编程。★★★★★接口隔离原则(InterfaceSegregationPrinciple,ISP)使用多个专门的接口来取代一个统一的接口。★★☆☆☆合成复用原则(CompositeReusePrinciple,CRP)在系统中应该
8、尽量多使用组合和聚合关联关系,尽量少使
此文档下载收益归作者所有