zoukankan      html  css  js  c++  java
  • UML在代码中的展现

    依赖:一个类使用了另外一个类,这种关系是临时的、脆弱的。
    如人需要过河,需要船,这时人.过河(船)  中船被当做参数传入,船的实现变化会影响过河方法。
     
     
    聚合:体现是整体与部分、has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。
    如公司与员工,一个员工可以脱离公司到其他公司成为员工,员工也可以单独存在,这里的依赖比较弱。
    在代码中:
    class Company{
         private staffArray:Staff[] = [];
         public addStaff(staff:Staff){
             this.staffArray.push(staff);
         }
    }
     
     
    组合:体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;
    如人与大脑,大雁与翅膀,大雁类在实例化之前一定要先实例化翅膀,两个类紧密耦合在一起 它们有相同的生命周期 翅膀类(Wings)不可以脱离大雁类(Goose)而独立存在 
     
    在代码中:
     
    class Goose{
         public wings:Wings = null;
         constructor(){
              wings = new Wings();
         }
    }
    

      

     

    关系所表现的强弱程度依次为:组合>聚合>关联>依赖;

     
  • 相关阅读:
    ArcGIS Server JavaScript API 各命名空间的含义【转】
    python datetime 转timestamp
    python re 里面match 和search的区别
    django 两种创建模型实例的方法
    delete old data in elasticsearch
    iptables做nat网络地址转换
    zabbix trapper items
    pssh远程执行命令的利器
    gentoo 下安装lamp
    xshell密钥登录服务器
  • 原文地址:https://www.cnblogs.com/xiaohaoxuezhang/p/6768296.html
Copyright © 2011-2022 走看看