《类设计的基本经验》PPT课件

《类设计的基本经验》PPT课件

ID:36917424

大小:278.25 KB

页数:27页

时间:2019-05-10

《类设计的基本经验》PPT课件_第1页
《类设计的基本经验》PPT课件_第2页
《类设计的基本经验》PPT课件_第3页
《类设计的基本经验》PPT课件_第4页
《类设计的基本经验》PPT课件_第5页
资源描述:

《《类设计的基本经验》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、授课:李远辉类设计的基本经验OO设计原则湖南工程学院计算机与通信学院湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程1、类要单一2、加强内聚,松散耦合3、好的封装性4、类的粒度要合理5、实现类不能依赖它的使用类6、应考虑灵活性,也就是可配置、可维护可配置:可以通过修改配置文件来选择系统提供的功能可维护:可以很方便地修改功能,容易定位bug,功能隔离较好,不会牵一发而动全身湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程7、要考虑性能、考虑可伸缩性综合性能、性能定点、性能拐点,软件的体系结构决定了性

2、能的顶点8、要考虑今后可能的变化,也就是可扩展性9、要考虑合理的复用10、要合理地考虑接口和抽象类的使用优先使用接口,抽象类既要约束子类的行为,又要为子类提供公共的功能。11、尽量减少类与协作类的交互次数和交互信息的量12、父类不应知道子类的信息,子类必须知道父类的信息13、更多地使用类的组合,而不是继承14、访问对象必须通过接口,不能绕过接口直接去访问。湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程面向对象的设计原则(1)单一职责原则:就一个类而言,应该仅有一个引起变化的原因。(2)开放--封闭原则:软件

3、实体应该是可以扩展的,但是不可修改。(3)替换原则:子类应该能够替换他的父类。(4)依赖倒置原则:抽象不应该以来细节,细节应该以来抽象(5)接口隔离原则:不应强迫用户依赖他们不用的方法,接口属于客户,不属于他所在的类层次。(6)重用发布等价原则:重用的粒度就是发布的粒度。(7)共同封闭原则:包所有类应该对于同一类性质的变化应该是共同封闭的。(8)共同重用原则:一个包中的所有类应该是共同重用的。如果重用包中的一个类,就应该重用包中所有类。(9)无环依赖原则:在包的依赖图中不应该存在环。(10)稳定依赖原则:朝着稳定依赖的方

4、向进行依赖。(11)稳定抽象原则:包的抽象程度应该和依赖的程度一致。湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程依赖是和变化紧密联系在一起的概念。由于依赖关系的存在,变化在某处发生时,影响会波及开来,造成很多修改工作,这就是依赖的危害。可以说变化是始作俑者,依赖是助纣为虐。 我们可以不去拥抱变化吗?不可以。未来将是越来越不可预测,这是新经济最具挑战性的方面之一。商务和技术上的瞬息万变会产生变化,这既可以看作要防范的威胁,也可以看作应该欢迎的机遇。 既然变化不可避免,我们所能做的就是处理好依赖关系,将变化造

5、成的影响波及范围尽量减小。湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程单一职责原则(Single-ResposibilityPrinciple)。"对一个类而言,应该仅有一个引起它变化的原因。"本原则是我们非常熟悉地"高内聚性原则"的引申,但是通过将"职责"极具创意地定义为"变化的原因",使得本原则极具操作性,尽显大师风范。同时,本原则还揭示了内聚性和耦合生,基本途径就是提高内聚性;如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个职责的履行。其实OOD的实质,就是合理地进

6、行类的职责分配。湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程开放封闭原则(Open-Closedprinciple)。"软件实体应该是可以扩展的,但是不可修改。"本原则紧紧围绕变化展开,变化来临时,如果不必改动软件实体裁的源代码,就能扩充它的行为,那么这个软件实体设计就是满足开放封闭原则的。如果说我们预测到某种变化,或者某种变化发生了,我们应当创建抽象类来隔离以后发生的同类变化。在Java中,这种抽象是指抽象基类或接口;在C++中,这各抽象是指抽象基类或纯抽象基类。当然,没有对所有情况都贴切的模型,我们必

7、须对软件实体应该面对的变化做出选择。湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程Liskov替换原则(Liskov-SubstituionPrinciple)。"子类型必须能够替换掉它们的基类型。"本原则和开放封闭原则关系密切,正是子类型的可替换性,才使得使用基类型模块无需修改就可扩充。Liskov替换原则从基于契约的设计演化而来,契约通过为每个方法声明"先验条件"和"后验条件";定义子类时,必须遵守这些"先验条件"和"后验条件"。当前基于契的设计发展势头正劲,对实现"软件工厂"的"组装生产"梦想是一个有

8、力的支持湖南工程学院计算机与通信学院授课:李远辉Java编程技术教程依赖倒置原则(Dependecy-InversionPrinciple)。"抽象不应依赖于细节,细节应该依赖于抽象。"本原则几乎就是软件设计的正本清源之道。因为人解决问题的思考过程是先抽象后具体,从笼统到细节,所以我们先生产出的势必是抽象程度比较高的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。