cleanCode-对象和数据结构

    对象的意义在于封装。而不是继承和多态。如果失去了封装,对象便会退化为数据的集合,或者说数据结构。继承和封装也变成了无用的玩具。代码将失去活力,走向死亡。那什么是封装?封装就是隐藏实现,是遵守约定,是拥抱变化。封装做好了,代码便会好。封装失败了,代码便会慢慢僵化,走向深渊。这也是很多人的误区,以为对象是数据和对数据操作的集合。错了,对象是对美好未来的约定。
    没有对象是万万不能的,然而,对象也不是万能的。(从拥抱变化的角度)有时为了写出更容易扩展的代码,对对象隐藏的实现的侵入是在所难免的。这显然违反了迪米特法则,但是理论永远是完美的,现实却往往满目疮痍。这绝非是自我安慰的借口,而是在现实基础上的理性决策。(例如spring就会要求bean实现自省,这显然会将内部实现暴露无遗)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值