语言:抽象,封装,底层,低级

首先,搞清楚需求
第二,底层和低级是两回事。前者是指受到的依赖程度大,后者是指抽象程度低。但不论是哪个角度,封装本身并不会阻碍你使用任意层次的接口。可能的问题在于接口设计者没有充分考虑需求,不恰当地认为封装的结果足以能替代被封装的东西。
搞清楚必要的接口,依赖接口而非实现。对于大多数用户,“不知道它底层是GDI”是一种必要的自由,而非义务;知道“底层”对于一知半解的用户来说是累赘,经常导致代码的质量更烂;并且因为缺乏控制依赖的手段,可对实际的工作(例如移植)造成本不必要的阻碍。

第三,“封装之后却变成三四个类,多了大堆方法和属性”多出来的复杂度显然不是必要的。这样的示例只能说明封装质量烂,不表示这里不需要封装。
posted @ 2014-03-05 13:05  foo__hack  阅读(344)  评论(0编辑  收藏  举报