区分依赖,关联和聚集关系

关联和聚集的相同之处:当对象A和对象B之间存在依赖关系时,对象A都有可能调用对象B的方法。

1)依赖关系的特征

对于两独立的系统,当A系统负责构造B系统的实例,或者依赖另一个系统的服务时,这两系统之间主要体现为依赖关系。

例如:自行车Bicycle和打气筒Pump

public class Bicycle{
    /*给轮胎打气*/
    public void expand(Pump pump){
        pump.blow();
    }
}

2)关联关系的特征

对于两独立的系统,当A系统的实例和B系统的实例存在特定的对应关系时,该两系统之间为关联关系。(从业务上讲)

例如:人和Person和自行车Bicycle

public class Person{
    private Bicycle bicycle;//主人的自行车
    
    public Bicycle getBicycle(){
        return bicycle;
    }

    public void setBicycle(Bicycle bicycle){
        this.bicycle=bicycle;
    }

    /**骑自行车去上班*/
    public void goToWork(){
        bicycle.run();
    }
}
?以上关联关系中存在依赖关系,主人依赖自行车去上班。

?从业务上讲,A依赖B,A依赖B才能成功;A关联B,A和B具有特殊的关系或者特殊的利益,A的成功不一定需要B。


3)聚集关系的特征

当系统A加入到系统B中,成为系统B的组成部分时,系统B和系统A为聚集关系。

例如:自行车和响铃,电脑和主板

public class Bicycle{
    private Bell bell;

    public Bell getBell(){
        return bell;
    }

    public void setBell(Bell bell){
        this.bell=bell
    }

    /**发出铃声*/
    public void alert(){
        bell.ring();
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值