发布网友
共5个回答
热心网友
四楼南哥 v5 啊
@二玉威武
关联强调的是Stragety接口和单个具体实现(ConcreteStrategy)的关系,即强调的是两两之间的关系,也就是说Strategy和ConcreteStrategy1、ConcreteStrategy2都是关联关系。但是对某个具体实现,要么只关注Strategy和ConcreteStrategy1,要么只关注Strategy和ConcreteStrategy2。Strategy接口在某次具体实现中也只关注ConcreteStrategy1或ConcreteStrategy2.
对聚合而言,则当Strategy和ConcreteStrategy1、ConcreteStrategy2都有聚合关系时,则在某次具体实现中,Strategy既得关注ConcreteStrategy1的实现,又得关注ConcreteStrategy2的实现。即具体的实现是将ConcreteStrategy1和ConcreteStrategy2拼组而成的。
个人见解~
热心网友
哈哈,我认真听了二玉的课,哥来告诉你,用聚合关系,就可以综合使用多个策略,而用关联关系,你每次就只能使用一个策略了。
一次使用多个策略的情况虽然不常见,还是有的~
热心网友
明天就考试了好怕怕
我也不太懂,关联和聚合在代码层次没啥区别啊,只是语义不同吧
关联的话,两者是一个档次的
聚合的话是owns-a整体和部分间的关系
关联也可以一对多啊== 为啥每次只能用一个策略呢
不太懂啊不太懂
==========================
有点懂了,聚合就是强调strategy本身可以由多个ConcreteStrategy聚合使用?追问这个丁老师说不考的
热心网友
聚合关系更密切追问能具体一点吗
热心网友
额。。楼上1点多回复的额。。。好认真啊,压力好大