想通过画UML类图来理清MVC各个模块各个类之间的关系,现在有一点疑问,
如果一个抽象类(如RouteBase),其规定方法GetRouteData,返回值类型为RouteData,
现在Route继承了RouteBase,实现其GetRouteData方法,返回值类型为RouteData,需要为RouteBase和Route都建立对RouteData的依赖吗?因为感觉都建立依赖关系的话如果继承的子类多了可能关系会很多,线会比较乱,感觉不是很好。
为了避免相同依赖带来的乱可以只给抽象类建立依赖吗?
只是想尽量画得规范一点,方便以后看或者给别人看。初次使用uml
Route对RouteBase应该是泛化关系吧?对RouteData是依赖关系。
UML中有四种层次的依赖关系:依赖<关联<组合<聚合。泛化不属于依赖关系,而是另一个独立的种类。
UML类图类似于如下这样。另外,依赖关系一般是表现为参数或返回值。如果是类成员则应该是关联关系
我知道泛化不是依赖,我意思是RouteBase的GetRouteData方法也返回RouteData,需要为RouteBase也建立依赖吗。。
@迟鱼: 抽象类和具体类只需要选择其一。一般用具体类建立依赖关系比较多。
当然如果继承自某一抽象类的具体类数量较多,那么用抽象类也可以
@飞鸟_Asuka: 谢谢 :)