- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 设计模式及其应用 设计模式概述 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。 面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。 GoF 23 种设计模式 历史性著作《设计模式:可复用面向对象软件的基础》一书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位。该书四位作者被人们并称为Gang of Four (GoF),“四人组”,该书描述的23种经典设计模式又被人们称为GoF23种设计模式。 由于《设计模式:可复用面向对象软件的基础》一书确定了设计模式的地位,人们通常所说的设计模式隐含地表示“面向对象设计模式”。但这并不意味“设计模式”就等于“面向对象设计模式”,也不意味着GoF 23种模式就表示了所有的“面向对象设计模式”。除了“面向对象设计模式”外,还有其他设计模式。除了GoF23种设计模式外,还有更多的面向对象设计模式。 设计模式与面向对象 面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”是那些可以满足“应对变化,提高复用”的设计。 面向对象设计模式描述的是软件设计,因此它是独立于编程语言的,但是面向对象设计模式的最终实现仍然要使用面向对象编程语言来表达。 面向对象设计模式不像算法技巧,可以照搬照用,它是建立在对“面向对象”纯熟、深入的理解的基础上的经验性认识。掌握面向对象设计模式的前提是首先掌握“面向对象”! 从编程语言直观了解面向对象 各种面向对象编程语言相互有别,但都能看到它们对面向对象三大机制的支持,即: “封装、继承、多态” 封装,隐藏内部实现 继承,复用现有代码 多态,改写对象行为 使用面向对象编程语言(如java/C#),可以推动程序员以面向对象的思维来思考软件设计结构,从而强化面向对象的编程范式。 但OOPL并非面向对象的全部 OOPL没有回答面向对象的根本性问题——我们为什么要使用面向对象?我们应该怎样使用三大机制来实现“好的面向对象”? 我们应该遵循什么样的面向对象原则? 任何一个严肃的面向对象程序员,都需要系统地学习面向对象的知识,单纯从编程语言上获得的面向对象知识,不能够胜任面向对象设计与开发。 重新认识面向对象 对象是什么? 从概念层面讲,对象是某种拥有责任的抽象。 从规格层面讲,对象是一系列可以被其他对象使用的公共接口。 从语言实现层面来看,对象封装了代码和数据。 有了这些认识之后,怎样才能设计“好的面向对象”? 遵循一定的面向对象设计原则 熟悉一些典型的面向对象设计模式 面向对象设计原则 面向对象设计原则概述 软件的复用(Reuse)或重用拥有众多优点,如可以提高软件的开发效率,提高软件质量,节约开发成本,恰当的复用还可以改善系统的可维护性。 面向对象设计复用的目标在于实现支持可维护性的复用。 在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。 面向对象设计原则概述 面向对象设计原则和设计模式也是对系统进行合理重构的指南针. 重构(Refactoring)是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。 面向对象设计原则概述 面向对象设计原则简介 常用的面向对象设计原则包括七个,这些原则并不是孤立存在的,它们相互依赖,相互补充。 单一职责原则 单一职责原则定义 单一职责原则(Single Responsibility Principle, SRP)定义如下: 在软件系统中,一个类只负责一个功能领域中的相应职责。 另一种定义方式如下: 就一个类而言,应该仅有一个引起它变化的原因。 单一职责原则 单一职责原则分析 一个类(或者大到模块,小到方法)承担的职责越多,它被复用的可能性越小。而且如果一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作。 类的职责主要包括两个方面:数据职责和行为职责,数据职责通过其属性来体现,而行为职责通过其方法来体现。 单一职责原则是实现高内聚、低耦合的指导方针,在很多代码重构手法中都能找到它的存在,它是最简单但又最难运用的原则,需要设计人员发现类的不同职责并将其分离,而发现类的多重职责需要设计人员具有较强的分析设计能力和相关重构经验。 单一职责原则 单一职责原则实例 实例说明 某基于Java的C/S系统的“登录功能”通过如下登录类(Login)实现: 现使用单一职责原则对其进行重构。 开闭原则 开
您可能关注的文档
最近下载
- 中华人民共和国通信行业标准通信用阀控式密封铅-中国通信标准化协会.PDF VIP
- 个人图书馆使用说明.doc VIP
- 7-1.广东省高级会计师职称评审结构化自评表.pdf VIP
- JCT 60006-2020 瓷砖薄贴法施工技术规程.pdf VIP
- 《6763个常用汉字使用频率表》.doc
- 化工有限公司公司生态环境监测数据质量管理制度.pdf VIP
- 四川省南充市2023-2024学年度初中语文八年级上学期期末质量抽查测试语文试卷及答案.doc VIP
- DB4101T11 食品生产企业6S现场管理规范.pdf VIP
- 2022年《国家电网有限公司高校毕业生招聘考试大纲(通信类专业2022版).pdf VIP
- 室分施工培训.pptx
原创力文档


文档评论(0)