本章用来讲述设计模式中的另一个原则——组合优于继承原则,又称为合成复用原则。
一、基本介绍
该原则是尽量使用合成/聚合的方式,而不是使用继承。
上面一句话就是对该原则的核心,但单单看这么一句话还是显得过于枯燥与不知所云,下面我们还是结合具体的场景进行代码推进,对该原则进行讲解。
二、场景
假设我们需要设计这样一个集合,每次向里面加入元素时,count
都加一。例如:
最初集合是空集合,此时我们向里面加入"a"
,此时集合为{"a"}
,那么此时count = 1
;当加入"b","c"
两个元素时,集合为{"a","b","c"}
,此时count=3
;此时再删除"a","c"
两个元素,集合为{"b"}
,count
仍然等于3
;最后再加入"d"
,集合为{"b","d"}
,count=4
。
所以该场景是,不论中间是否删除元素,我们只统计加入到集合中的元素的次数,进行返回。