设计模式的核心思想就是"预测可变性和封装可变性"
下面说说我对封装可变性的体会吧,所谓封装可变性,就是有这样的效果,当需求变更或者设计变更的时候,需要对这个模块进行修改,但是不影响他的调用模块和被调用模块. 一般来说都不影响调用模块的了,除非是数据耦合.这种设计方法是比较糟糕的. 而对调用模块,要看调用模块A该变更模块B的关系吧. 如果是聚合关系 A包含B,B影响A只是通过public把接口暴露出去,如果在B中做到修改而不修改public函数的参数,并且参数的意义不变(这个很重要,有的人为了方便,参数不该,但是参数所指的意义改了.Oh ,my god!那是一场恶梦!!!),则A是不需要进行改动.这需要在B中预测到变化性,定义好接口,使入口参数能够处理以后的变化.
例子以后再举,吃饭先