UML设计模式.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML 第一节:UML包括什么? 行为型图 使用案例图(Use Case diagrams) 序列图(Sequence diagrams) == 时序图 == 活动序列图 垂直的虚线叫生命线,代表一个对象存在的时间,每一个箭头都是一个调用,这个箭头从调用者对象连接到接收者对象的生命线上的激活条。每一个激活条代表调用所持续的时间 合作图(Collaboration diagrams) 状态图(statechart diagrams) 活动图(activity diagrams) 结构型图 类图(Class diagrams) 显示出类,接口与它们之间的静态结构和关系的图,最基本的元素是类或接口 表示类的柜架分为以下几个部分 类名:正体字,表示具体类;斜体:抽象类 属性清单:名字前有锁(-)表示是私有的,有钥匙的是保护的(#),没有 的是公共的(+) 方法清单 性质清单 构件图(Component diagrams) 部署图(deployment diagrams) 第二节:设计原则 “开-闭”原则 一个软件实体对扩展开放,对修改关闭 遵守开闭原则带给系统两个无可比拟的优越性 通过扩展已有的系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的灵活性和适应性 已有的软件模块,特别是重要的抽象层模块不能再被修改,这就使变化中的软件系统有一定的稳定性和延续性 里氏代换原则 任何基类中出现的地方,子类一定可以出现.基类与子类的继承关系就是抽象化的具体体现,所以里氏代换原则是对实现抽象化的具体步骤的规范。 一般而言,违反里氏代换原则就是违背了”开-闭”原则,反之不一定成立 依赖倒转原则 要依赖于抽象,不要依赖于实体 违反此原则,就无法实现”开-闭”原则 接口隔离原则 应该为客户端提供尽可能小的单独的接口,而不要提供大的总接口 组合/聚合原则 要尽量使用合成/聚合,而不是继承关系而达到代码复用的目的 违反此原则,就无法实现”开-闭”原则 迪米特法则 一个软件实体应当尽可能少的与其它实体发生相互作用 第三节:设计模式(共有23种) 创建模式 工厂模式 结构模式 代理模式 行为模式 第四节:java语言的接口 到底什么是接口 Java接口:这是一种java语言中存在的结构,有特定的语法和结构 接口:仅仅指一个类所具有的方法的特征的集合,是一种逻辑上的抽象 对接口的一些描述 在使用接口时,须指明接口本身和它的实现类。一个类实现一个接口,这种关系叫接口继承,而一个类是另一个类的子类,这种关系叫实现继承,一个类只能有一个超类,但可以同时实现多个接口 接口本身没有任何实现,因为java接口不涉及表象,而只描述public行为,所以java接口比抽象类更为抽象化 一个java接口只能是抽象的和公开的,不能有构造方法,可以有public的,static的,final属性 接口相当于是一个角色,而类相当于是一种角色的具体演员 为什么要使用接口 没有接口,只能用继承,就可能出现超超…类的情况。因为java只能单继承。这样就变成了对整个等级结构中的所有的类的修改 接口是对可插入性的保证 关联的可插入性 一个类需要知道其他的对象,并调用其他对象的方法,这个对象对其他对象的有关系叫知识关联。任何实现这个接口的类都可以满足要求.即:当前类不在意与之关联的是哪一个具体的类,而仅仅关心这个类是否实现了某个接口 调用的可插入性 一个对象调用其他对象的方法,这种调用可以是一个接口,任何实现了这个接口的类都可以被当前对象调用,而调用的是哪个具体的类可以动态的决定 类型 Java接口以及java抽象类,仅用来声明一个新的类型 在理想情况下,一个具体java类应该只实现java接口或抽象java类中声明过的方法,而不应给出多余的方法 类型等级结构 混合类型(Mixin Type) 如果一个类已经有一个超类型,那么通过实现一个接口,可以拥有另一个次要的超类型。这种次要的超类型叫做混合类型 Java接口中常用的方法 单方法接口 接口中仅包含一个方法 标识接口(不推荐使用) 接口中没有任何方法和属性 常量接口 在接口中声明常量 多方法接口 第五节:抽象类 什么是抽象类? 先有蛋还是先有鸡? 抽象类的用途 由于抽象类不能实例化,所以一定是用来继承的 抽象类中应该拥有尽可能多的共同代码(策略模式) 抽象类应该拥有尽可能少的代码 什么情况下使用继承 子类是超类的一个特殊种类,而不是超类的一个角色(Is-A) 永远不会出现要将子类换成另一个类的子类的时候 子类具有扩展超类的责任,而不是置换掉或者注销掉超类的责任 只有在分类学上角度上有意义时,才可以使用,不要从工具类继承 第六节:工厂模式 简单工厂模式(静态工厂模式) 类的创建模式,由一个工厂对象决

文档评论(0)

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

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

1亿VIP精品文档

相关文档