类图

设计模式

橙三吉。 提交于 2019-11-26 22:41:10
策略模式(Strategy Pattern) (1)适用场景 当解决问题的方法有多种方式,需要可替换时。 (2)核心 使用组合,封装成一个个算法,即是策略。 (3)类图 抽象工厂模式(Abstract Factory Pattern) (1)适用场景 产品有 不同的提供商 ,不同的提供商提供不同品牌和风味的产品; 同一提供商有 不同的流水线 ,不同的流水线生产不同的产品。 (2)核心 从创建开始就对产品进行了区分,生而不同。 (3)类图 适配器模式(Adapter Pattern) (1)适用场景 将外部服务融合进内部而外部接口与现有服务不兼容(表现在命名、返回值、入参等不同),需要进行适配才能使用时。 (2)核心 使用组合或者多继承,包装旧接口到包装类(或称为适配器)中。使用组合的称之为对象适配器,使用多继承的称之为类适配器。 (3)类图 参考(Reference) 图说设计模式 Head First 设计模式 来源: https://www.cnblogs.com/lshare/p/11334258.html

PlantUML类图

我是研究僧i 提交于 2019-11-26 20:27:29
PlantUML类图 雨客 2016-04-08 11:38:03 浏览796 评论0 摘要: 类之间的关系 PlantUML用下面的符号来表示类之间的关系: 泛化,Generalization:<|-- 关联,Association:<-- 组合,Composition:*-- 聚合,Aggregation:o-- 实现,Realization:<|.. 依赖,Dependency:<.. 以上是常见的六种关系,--可以替换成..就可以得到虚线。 类之间的关系 PlantUML用下面的符号来表示类之间的关系: 泛化, Generalization : <|-- 关联, Association : <-- 组合, Composition : *-- 聚合, Aggregation : o-- 实现, Realization : <|.. 依赖, Dependency : <.. 以上是常见的六种关系, -- 可以替换成 .. 就可以得到虚线。另外,其中的符号是可以改变方向的,例如: <|-- 表示右边的类泛化左边的类; --|> 表示左边的类泛化右边的类。 例如,下面的是 -- : @startuml Class01 <|-- Class02:泛化 Class03 <-- Class04:关联 Class05 *-- Class06:组合 Class07 o-- Class08

看懂UML类图和时序图

旧时模样 提交于 2019-11-26 20:27:09
看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没有什么问题了; 本章所有图形使用Enterprise Architect 9.2来画,所有示例详见根目录下的design_patterns.EAP 从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abstract>>,表示车是一个抽象类; 它有两个继承类:小汽车和自行车;它们之间的关系为实现关系,使用带空心箭头的虚线表示; 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系,使用带空心箭头的实线表示; 小汽车与发动机之间是组合关系,使用带实心箭头的实线表示; 学生与班级之间是聚合关系,使用带空心箭头的实线表示; 学生与身份证之间为关联关系,使用一根实线表示; 学生上学需要用到自行车,与自行车是一种依赖关系,使用带箭头的虚线表示; 下面详细介绍这六种关系; 类之间的关系 泛化关系(generalization) 类的继承结构表现在UML中为:泛化(generalize)与实现(realize): 继承关系为 is-a的关系;两个对象之间如果可以用 is-a 来表示

Visual Studio 2010将支持多种架构设计图

独自空忆成欢 提交于 2019-11-26 19:22:39
 之前早有消息说 Visual Studio 10 (或称Visual Studio 2009 maybe 2010) 将在09年发布,今天有幸参加了FrontLine talk - Visual Studio Architecture,一睹Visual Studio 10在架构设计方面的强大的支持和扩展,非常兴奋,特来与大家分享!   讲座的工程师Ramesh Rajagopal原在Visio开发团队,于02年调入Visual Studio团队,可已看出,微软从一开始就往IDE上加了软件设计的砝码   (本例中使用的设计图为本人在大学时画着玩的,不好,请大家不要鄙视)   VS现有的架构设计支持   在Visual Studio 2005和2008中我们能够使用Application Diagram 来绘制分布式架构图(如下)      还可以通过System Diagram来设计系统局部细节(如下)      以及使用Logical DataCenter Diagarm来设计部署方案(如下)      当然,还能通过大家熟悉的Class Diagram来设计UML类图,并能够正向工程,实时生成C#或VB.NET代码      然而,这些仅仅是VS在设计方面的一个试探,还远远不能满足我们的需要。   VS 2009中将会支持的新功能   好了,接下来让我们切入正题:  

UML类图关系大全【转】

孤者浪人 提交于 2019-11-26 18:34:23
原文: http://www.cnblogs.com/riky/archive/2007/04/07/704298.html 1、关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。 使用ROSE 生成的代码是这样的: class C1 ...{ public: C2* theC2; }; class C2 ...{ public: C1* theC1; }; 双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。 单向关联: C3->C4:表示相识关系,指C3知道C4,C3可以调用C4的公共属性和方法。没有生命期的依赖。一般是表示为一种引用。 生成代码如下: class C3 ...{ public: C4* theC4; }; class C4 ...{ }; 单向关联的代码就表现为C3有C4的指针,而C4对C3一无所知。 自身关联(反身关联): 自己引用自己,带着一个自己的引用。 代码如下: class C14 ...{ public: