༺༽༾ཊ—设计-七个-06-原则-模式—ཏ༿༼༻

第六原则:合成复用原则

        尽量使用对象组合/聚合,而不是继承来达到复用的目的

也就是说,尽可能使用引用其他类的实例方式来完成,这个类的实例值可以被动态的改变,

也叫聚合

༺༽༾ཊ—设计-七个-06-原则-模式—ཏ༿༼༻_第1张图片

而组合是创建Graphics这个类时,Rectangle就已经被创建出来了也就是一开始就被创建出来,可以通过new直接赋值,或者构造函数赋值

༺༽༾ཊ—设计-七个-06-原则-模式—ཏ༿༼༻_第2张图片

聚合与组合的区别在于:

聚合:随时可以被换掉

༺༽༾ཊ—设计-七个-06-原则-模式—ཏ༿༼༻_第3张图片

组合:

一开始生成出来就不可以改变了

༺༽༾ཊ—设计-七个-06-原则-模式—ཏ༿༼༻_第4张图片

换言之 组合就相当于人,一旦出生头部就被创建了不可改变,而聚合相当于机器人,被创建之后头部可以根据需求替换

End

你可能感兴趣的:(1024程序员节,c#,设计模式)