软件架构设计实践— 基于SSM框架 课件 第1章 软件设计模式导论.pptx

软件架构设计实践— 基于SSM框架 课件 第1章 软件设计模式导论.pptx

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

软件架构设计实战——基于SSM框架SoftwareArchitectureDesignPracticeBasedonSSMFramework

第1章软件设计模式导论123软件设计模式概述软件设计模式的基本原则使用设计模式的优点

软件设计模式概述软件设计模式是软件设计中常见问题的典型解决方案,就像能根据需求进行调整的预制蓝图,可用于解决软件项目开发中反复出现的设计问题。与方法或库的使用方式不同特定的代码与算法的区别1

1.1软件设计模式产生的背景“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。《建筑模式语言:城镇、建筑、构造》《建筑的永恒之道》设计模式思想应用在Smalltalk中的图形用户接口的生成中软件工程界才开始研讨设计模式的话题1977年1979年1987年1990年1995年《设计模式:可复用面向对象软件的基础》启发:设计模式产生的重要性——GoF四人组——23个经典设计模式

1.1软件设计模式产生的背景GoF四人组合著的《设计模式》并不是一种具体“技术”,它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和超人智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,GoF反复强调一个宗旨:要让程序尽可能的重用。这其实在做一个极限挑战:在软件项目开发中唯一不变就是如何应对不断变化的需求。但是我们还是要寻找出不变的东西,并将它和变化的东西分离开来,这需要非常的智慧和经验。

1.2软件设计模式的基本要素软件设计模式使人们可以更加简单方便地复用成功的设计和体系结构。模式名称(PatternName)问题(Problem)解决方案(Solution)效果(Consequence)

2软件设计模式的基本原则设计模式是从实际业务当中抽取出来,然后进行抽象,形成一种通用的解决问题的思路,是从具体到抽象的过程;在解决实际问题的时候,不能生搬硬套的使用某一种设计模式,而要考虑该问题与哪种设计模式的应用场景、特征相匹配,从而选择某个或多个设计模式。

2.1开闭原则开闭原则(OpenClosedPrinciple,OCP)由勃兰特·梅耶(BertrandMeyer)提出,他在1988年的著作《面向对象软件构造》(ObjectOrientedSoftwareConstruction)中提出:软件实体应当对扩展开放,对修改关闭(Softwareentitiesshouldbeopenforextension,butclosedformodification),这就是开闭原则的经典定义。开闭原则的含义是:当软件项目的应用需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

2.1开闭原则1.开闭原则的作用:(1)降低软件测试的工作量:如果软件开发遵守开闭原则,软件测试时只需要对扩展的代码进行测试,因为原有的测试代码仍然能够正常运行。(2)提高代码的可复用性:在软件项目开发中,项目模块粒度越小,被复用的可能性就越大,在遵守开闭原则的情况下,通过对原有模块的扩展能够提高代码的可复用性。(3)提高软件项目的可维护性:遵守开闭原则的软件项目,其基础代码(模块)越来越稳固,在项目维护的过程中,工作量会大大减少,降低维护成本。

2.1开闭原则2.开闭原则的实现方法可以通过“抽象约束、封装变化”来实现开闭原则,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在相同的具体实现类中。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节可以从抽象派生来的实现类来进行扩展,当软件需求发生变化时,只需要根据新需求重新派生一个实现类来扩展就可以完成。开闭原则也是在软件项目开发中最为重要的一个基本原则。

2.1开闭原则3.示例:开闭原则的使用——Windows的桌面主题设计

2.2里氏代换原则里氏替换原则(LiskovSubstitutionPrinciple,LSP)由麻省理工学院计算机科学实验室的里斯科夫(Liskov)女士在1987年的“面向对象技术的高峰会议”(OOPSLA)上发表的一篇文章《数据抽象和层次》(DataAbstractionandHierarchy)里提出来的,她提出:继承必须确保超类所拥有的性质在子类中仍然成立(Inheritanceshouldensurethatanypropertyprovedaboutsupertypeobjectsalsoholdsforsubtypeobjects)。

2.2里氏代换原则1.里氏替换原则的作用(1

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档