美文网首页
『ios』类图uml画法学习

『ios』类图uml画法学习

作者: butterflyer | 来源:发表于2020-12-13 22:34 被阅读0次

    领导安排画项目类图,下面就是前段时间的杰作,画的不太好,不过也理解了一些东西,记录下来。

    image.png

    uml类图可以用starUML来画。

    类图的关系可以分为四种,依赖、关联、泛化和实现。
    1、依赖 用虚线箭头表示
    当一种事物发生变化时会影响到使用它的另外的事物,反之则未必。

    2、关联 用实线箭头表示
    一种结构性关系,若类A单项关联指向类B,则在类A中存在一个属性B
    若类A依赖类B,则不会有这个属性,类B的实例可能存在于某个方法调用的函数中,或某个方法的局部变量中。
    从上面来看,关联关系>依赖关系

    3、泛化 用实线空心箭头表示
    也就是继承的关系。

    1. 实现 用虚线空心箭头表示
      接口的实现,比如我们可以新建一个interface接口,作为当前类的接口实现。

    5.聚合 用空心的菱形+实线箭头
    表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期。

    6.组合 用实心的菱形+实线箭头
    组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。

    具体的画法可以用staruml中的工具来画


    image.png

    在学习过程中看到过很多这张图,自己通过这里也更加清楚地理解了这些关系和画法。


    image.png

    回到我们的项目来。
    我们的项目,有两个实体,user和room。
    user又分为主持人,b端用户和c端用户。
    room又分为主持人房间和用户房间。
    通过user通过Roomservice创建房间,Roomservice作为房间的管理类,RoomBuilder作为直播sdk的api的类,Roomservice通过调用RoomBuilder来创建了房间实现了相应的功能。
    Roomservice又通过interface callBack给user,进行相应的监听。
    总结出来,我认为可以算为四个实体,user room Roomservice RoomBuilder 一个interface。

    相关文章

      网友评论

          本文标题:『ios』类图uml画法学习

          本文链接:https://www.haomeiwen.com/subject/pofmgktx.html