2019_BUAAOO_第四单元总结

一、作业架构设计

两次作业都采用了相似的架构,因此放在一起来说明。

  • 将UmlClass,UmlInterface,UmlState等封装成对应的MyUmlxxx类,类中除了储存对应的Id,name,parentId等信息外,还会储存查询要用到的所有信息
  • 为所有MyUmlxxx类建立对应的Container类,Container中储存所有MyUmlxxx对象,对与建立每个对象之间的关系的操作都要经过Container来实现,这样可以方便管理
  • 对于不同的Uml图,建立对应的类,类中放有相应的Container

第二次作业有效性检查实现:

UML002:在MyUmlClass类中直接存有所有的UmlAttribute和UmlAssociationEnd的name,因此直接用来比较即可。

UML008:对于UmlClass而言,直接向上找父类,若是找到的所有类中含有同样的id,则认为此类循环继承。对于UmlInterface的情况也是类似,但是由于UmlInterface允许多继承,因此所有UmlInterface的父类都要查询一次。

UML009:查找每个类的所有实现接口,然后看是否有重复。

两次作业的类图展示:

 

 

猜你喜欢

转载自www.cnblogs.com/since-AUG/p/11079353.html
今日推荐