Java观察者模式类图-火龙果软件.PPT

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

开-闭原则(OCP) 面向对象可利用设计(OOD)的第一块基石,就是“开-闭原则(Open-Closed principle,简称OCP),它的核心含意是:一个好的设计应该能够容纳新的功能需求的增加,但是增加的方式不是通过修改已有的模块(类),而是通过增加新的模块(类)来完成的。 里氏代换原则 就是子类可以代替父类出现的任何地方,在抽象的时候,理解两个类之间是什么关系很重要。经典判断:“has-A”关系,还是“Is-a”关系。在“has-a”的关系中,两个类存在的是依赖的关系(在类A里面存在类B的的变量);在“Is-a”的关系中,可以提取这两个类的“共同代码”放在抽象类C中,然后A,B继承于C,这也是一种重构。 依赖倒转原则 就是在我们编程的时候方法的参数类型,变量,对于其他具体类的依赖,我们尽量的使用抽象类。 就是说尽量依赖于抽象,而不是依赖于实现。 接口隔离原则 就是一个类对另外一个类依赖的时候,应当是建立在最小的接口上面。对于接口隔离原则来说,有两种接口,一种是真正意义上面的“java 接口”Interface;另外一种是指一个类的方法的集合。对于这来两种有,两个接口隔离的原则,对于一个类里面的方法的集合的接口隔离,我们称作是“角色隔离原则”;另外一种叫做“定制服务”。 定制服务,就是一个类,我给你这个客户端一些方法,我放在一个java接口(Interface)里面。给另外一个客户端另外一些方法,放在另外一个接口(Interface). 角色隔离原则,是指客户端要多个不同的类的方法,我们就搞几个不同类别的接口(Interface),在书中,这么比喻的,就相当于电影剧本里面的人物,我们找人来演,这个人就是具体的类。这就叫做角色隔离原则。 组合/聚合复用原则 就是说要尽量的使用合成和聚合,而不是继承关系达到复用的目的。 ???? 其实这里最终要的地方就是区分“has-a”和“is-a”的区别。相对于合成和聚合,继承的缺点在于:父类的方法全部暴露给子类。父类如果发生变化,子类也得发生变化。聚合的复用的时候就对另外的类依赖的比较的少。 最少知识原则(迪米特原则 ) 对于成员,private,default,protected,public。往上面走,权限越小,依赖的耦合就越小。 强调了类之间的松耦合,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成影响,也就是信息的隐藏出尽了软件的复用。 模式(Pattern) 一个围棋下得好的人知道,好的“形”对于围棋非常重要。形是棋子在棋盘上的几何形状的抽象化。 形就是模式(Pattern),也是人脑把握和认识外界的关键。 模式 我们处理大量问题时,在很多不同的问题中重复出现的一种性质,它使得我们可以使用一种方法来描述问题实质并用本质上相同,但细节永不会重复的方法去解决,这种性质就叫模式。 成为模式的条件 1、 它可以解决问题。模式不能仅仅反映问题,而必须对问题提出解决方案。 2、它所提出解决方案是正确的,而且不是很明显的。 3、它必须是涉及软件系统深层的结构的东西,不能仅是对已有的模块的描述。 4、它必须满足人的审美,简洁美观。 经典模式总浏览 创立性模式 创立性模式(Creational Patterns)是类在实例化时使用的模式。 当一些系统在创立对象时,需要动态地决定 怎样创立对象,创立哪些对象 创立性模式告诉我们怎样构造和包装这些动态的决定。 结构性模式 结构性模式描述类和对象怎样结合在一起成为较大的结构。 结构性模式描述两种不同的东西:类与类的实例。 行为模式 行为模式设计到算法和对象职责间的分配。 行为模式不仅是关于类和对象的,而且还描述它们之间的作用。 这些模式刻画了运行时刻难以跟踪的复杂的控制流,它帮助软件设计者在设计软件的时候把注意力从控制流转移到对象间的联系上。 经典模式总浏览 简单工厂模式 Java创建对象的方法 所有面向对象的语言都有固定的创立对象的办法。java的办法就是使用new操作符。比如 StringBuffer s = new StringBuffer(1000); 使用new操作符的短处是事先必须明确知道要实例化的类是什么 实例化的责任往往与使用实例的责任不加区分。 创立性模式 面向对象的设计的目的之一,就是把责任进行划分,以分派给不同的对象。 创立性模式把对象的创立过程封装起来,使得创立实例的责任与使用实例的责任分割开 由专门的模块分管实例的创立,而系统在宏观上不再依赖于对象创立过程的细

文档评论(0)

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

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

1亿VIP精品文档

相关文档