网站大量收购独家精品文档,联系QQ:2885784924

设计模式在企业开发中的应用教案分析.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目标 深刻理解面向对象思想 理解面向对象的设计原则 掌握常用的设计模式 掌握设计模式的正确使用 内容提要 1 什么是面向对象 2 面向对象的设计原则 3 常用设计模式及其应用示例 一、什么是面向对象 1.1 面向对象的世界观 1.2 面向对象的方法论 1.3 面向对象的特征 1.1 面向对象的世界观 面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的; 不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。 1.2 面向对象的方法论 面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。 1.3 面向对象的特征 封装 继承 多态 1.3 面向对象的特征 封装 每个对象都包含它能进行操作所需要的所有信息。这个特性被称为封装。因此对象不必依赖其他对象来完成自己的操作。 封装的好处 良好的封装能减少耦合。 类内部的实现可以自由的修改。 类具有清晰的对外接口 1.3 面向对象的特征 继承 对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为B是A,则表明B可以继承A。继承者还可以理解为是对被继承者的特殊化,因为它除了具备继承者的特性外,还具备自己独有的个性。 继承的特点 子类拥有父类非privite得属性和方法。 子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能。 子类还可以以自己的方式实现父类的功能(方法重写) 1.3 面向对象的特征 多态 多态表示不同的对象可以执行相同的动作。但需要通过他们自己的实现代码来执行。 使用多态需要注意 子类以父类的身份出现 子类在工作时以自己的方式来实现 子类以父类的身份出现时,子类特有的属性和方法不可以使用。 为了使子类的实例完全接替来自父类的成员,父类必须将其成员声明为虚拟的(virtual)。 子类可以通过override来重写父类的方法。 活字印刷——面向对象 为什么印刷术不是四大发明之一;而活字印刷是四大发明之一呢? 2 面向对象的设计原则 2.1 单一职责原则 2.2 开放封闭原则 2.3 依赖倒置原则 2.4 Liskov替换原则 2.5 接口隔离原则 2.6 迪米特法则 2.1 单一职责原则 单一职责原则的核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度。通常意义下的单一职责,就是指只有一种单一功能,不要为类实现过多的功能点,以保证实体只有一个引起它变化的原因。 2.1 单一职责原则 示例一、RBAC(基于角色的权限控制)应用设计 示例二、电话示例 示例一 示例二 2.1 单一职责原则 单一职责的好处 类的复杂性降低,实现什么职责都有清晰明确的定义 可读性提高,复杂性降低,那当然可读性提高了 可维护性提高,那当然了,可读性提高,那当然更容易维护了 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大帮助 2.2 开放封闭原则 开放封闭原则的核心思想是:软件实体应该是可扩展的,而不是可修改的。也就是,对扩展开放,对修改封闭的。开放封闭原则主要体现在两个方面: 1、对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。 2、对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对其进行任何的修改。 实现开放封闭原则的核心思想就是对抽象编程,而不对具体编程,因为抽象相对稳定。让类依赖于固定的抽象,所以修改就是封闭的;而通过面向对象的继承和多态机制,又可以实现对抽象类的继承,通过覆写其方法来改变固有行为,实现新的拓展方法,所以就是开放的。 “需求总是变化”没有不变的软件,所以就需要用封闭开放原则来封闭变化满足需求,同时还能保持软件内部的封装体系稳定,不被需求的变化影响。 2.2 开放封闭原则 在做任何系统时,都不能指望需求在一开始就完全确定。怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢?开放-封闭原则就是这个问题的答案。软件设计要容易维护又不容易出问题的最好方法就是多扩展、少修改 绝对的对修改关闭是不可能的。无论模块是多么的“封闭”,都会存在一些无法对之封闭的

文档评论(0)

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

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

1亿VIP精品文档

相关文档