首页 > 代码库 > EA UML 建模——类图

EA UML 建模——类图

  Enterprise Architect(EA) 是一个功能比较强悍的建模工具,本篇文章仅使用其 UML 建模功能,其他更多功能,可以Google。

 

  一、简单梳理C#中类与类、类与接口、接口与接口的关系

一、继承 (子类 : 父类、子接口 : 父接口) Is子类 : 父类abstract class Fruit{}class Apple : Fruit{}子接口 : 父接口interface IBase{}interface ISon : IBase{}二、实现 (类 : 接口) realseclass Banna : IBase{}class Cana : Fruit,IBase{}三、组合 Has (类中有类,类中有接口,接口中有类,接口中有接口)class House{    //构造器中包含    House(IBase base){}   // 方法中包含   void    Invoke(IBase base){}    //属性中包含    IBase BaseInter{get{return null;}}   // 包含类   void Show(Banna b){}}interface ISampleInterface{    // 接口中有接口       void Show(IBase base);    // 接口中有类    void Invoke(House house);}其实组合还可以分为 更细的,这个在OOA&OOD的书上讲的很多,不过我觉得 对C#而言就了解 上面的三种关系足矣
View Code

 

  二、下载、安装 EA及部分设置

  我在网上找到汉化新世纪汉化的"Enterprise Architect 8.0.858",及相应注册码打包到百度网盘(http://pan.baidu.com/s/1pJ9JKaZ)

  安装过程略

  将默认代码模式设置为 C#,"工具 ==> 选项 ==> 代码工程" 代码工程默认语言改为 C#

  

 

  三、需要关注的几个ToolBox项目

  

  Class  类

  interface 接口

  标号1Generalize(泛化)就上面讲“继承”关系

  标号2 Compose(组成) 就是上面讲的“组成”关系  

  标号3 Realize(实现)就是上面将的“实现”关系

 

  四、画类图

  以王翔设计模式书LSP和DIP原则一节的例子为例

  LSP(里氏替换原则):子类可替换父类(实现可替换接口)

  DIP(依赖倒置原则):高层对象与低层对象互补依赖,它们都依赖于抽象(依赖于抽象而非具体)

  类图:

  

  实现代码:

 1 #region[抽象] 2 public interface IVehicle 3 { 4     void Run(); 5 } 6 #endregion 7  8 #region[低层对象] 9 public class Bicycle : IVehicle10 {11 12     public void Run()13     {14         // 自行车的实现15     }16 }17 18 public class Train : IVehicle19 {20     public void Run()21     {22         // 火车的实现23     }24 }25 #endregion26 27 #region[高层对象]28 public class Client29 {30     public void ShowAVehicleRun(IVehicle vehicle)31     {32         vehicle.Run();33     }34 }35 #endregion
View Code

 

具体操作

  操作演示

EA UML 建模——类图