对一个List的模型,例如Class A聚合List B,对B的crud操作可以委托给A去完成,这是基本的模型。
但是仔细看会发现,如果有相同的类型List C出现,则将重复B的操作,所以此刻需要将B,C抽象出一个ListModel。
然后A聚合ListModel类型的B,C,让B,C共享代码。
这样有神马意义?
举个例子,如果B在执行CRUD后需要触发事件,则该事件在A中触发,可能与A有紧耦合的关系,但是A没有必要关心B的其他操作,它本来的目的只是单纯的通过A的接口在添加或删除B的元素。
抽象的意思:1.让使用者对其操作细节透明。2.共享代码。这样提高了内聚降低了耦合。