设计模式简介分析报告.ppt
文本预览下载声明
UML 标记法-接口的继承 接口的继承是从实现接口的类指向被实现的接口 使用虚线连接 Java中用implements表示 UML 标记法-关联关系 关联(Association)关系是类与类之间的联接,它使一个类知道另一个类的属性和方法,两个类处于同一个层次 关联可以是双向的,也可以是单向的。双向关联可以有两个箭头或没有箭头。单向关联有一个箭头,表示关联的方向。 关联关系使用实例变量实现 每个关联都有两个端点和一个关联名字。每个关联的端点还可以有一个基数,表明该端的类可以有几个实例。 基数可表示为:0..1、0..*、*、1、1..* UML 标记法-关联关系(续) 唐僧和他的徒弟形成一个关联关系,唐僧只有一个,而徒弟可以有好几个。 UML 标记法-聚合关系 聚合(Aggregation)关系是关联关系的一种,是强的关联关系.聚合是整体与个体之间的关系.例如汽车类与引擎类、轮胎类之间的关系。一个汽车对象由一个引擎对象、四个轮胎对象组成 聚合关系也通过实例变量实现 关联关系所涉及的两个类是处在同一个层次;而在聚合关系中,两个类是处于不平等的层次上,一个代表整体,一个代表部分。 UML 标记法-合成关系 合成(composition)是关联关系的一种,是比聚合关系强的关联关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系不能共享。 代表部分的对象在每一个时刻只能与一个对象发生合成关系,由后者排他地负责其声明周期。 美猴王与金箍棒之间是聚合关系,而美猴王与其四肢之间是合成关系。因为美猴王的四肢由自己负责,并且不能共享 UML 标记法-依赖关系 依赖(Dependency)也是类与类之间的关系,依赖总是单向的。依赖关系表示一个类依赖于另一个类的定义。 一个人可以买车和房子,Person类依赖于Car类和House类 因为Person类引用了Car和House。 与关联方式不同的是, Person类中并没有Car和House类型的定义, Car和House的实例以参数的方式传入到buy()方法中。 一般化关系 一般化(Generalization)关系表示类与类之间的继承 关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化关系是从子类指向父类,或从实现接口的类指向被实现的接口,与继承或实现的方向相反。 * Christopher Alexander was born in Vienna, Austria, and raised in Oxford and Chichester, England. He graduated from Cambridge University, where he studied Mathematics and Architecture. He then obtained a Ph. D. in Architecture at Harvard University. For his Ph. D. Thesis, later published as the book Notes on the Synthesis of Form, he was awarded the first Gold Medal for Research by the American Institute of Architects. Since 1963 he has been Professor of Architecture at the University of California at Berkeley, and Director of the Center for Environmental Structure. In 1980, Professor Alexander was elected member of the Swedish Royal Academy; and in 1996 he was elected fellow of the American Academy of Arts and Sciences. Christopher Alexander is a Trustee of the Prince of Waless Institute of Architecture. * Erich Gamma is the Technical Director of the Software Technology Center of ObjectTechnologyInternational (OTI) in Zurich. IBM distinguished Engineer * Ward Cunningham: inven
显示全部