封装
封装的目的是是将信息隐藏。
广义的封装不仅包括封装数据和封装实现,还包括封装类和封装变化。
所谓封装就是就类似于黑盒子,你只能看得出拿出来的东西,看不到内部的东西。
从设计模式的角度出发,封装在更重要的层面体现为封装变化
考虑你的设计中哪些地方可能发生变化,这种方式与关注会导致重新设计的原因相反。它不是考虑什么时候回迫使你的设计改变,而是考虑怎样才能够在不重新设计的情况下进行改变。这里的关键在于封装发生变化的概念。这是许多设计模式的主题
通过封装变化的方式,把系统中稳定不变的部分和容易变化的部分隔离开来,在系统的演变过程中,我们只需要替换那些容易变化的部分,如果这些部分是已经封装好的,替换起来也相对容易。这可以最大程度保证程序的稳定性和可扩展性。