iOS 开发iOS Developer程序员

面向对象的设计原则(一)

2017-01-18  本文已影响56人  liyc_dev

优先考虑组合/聚合,而不是继承

代码的演进过程

针对《设置》和《发现》中table view的代码逻辑
起初我是这样写的


起初

后来我是这样写的


后来

现在我是这样写的


现在

为何要这样做

大家都知道面向对象中继承的各种优点,所以选择了使用继承(不多说)
但是继承相比较组合依然存在缺点

题外话

从上面代码的演变可以看到table view的很多代理方法都是相同的逻辑,并不是我们需要关心的。
非常赞同@巍哥说的view controller中占据篇幅的并不是table view的代理,而是数据的构建。
所以,我才觉得更应该把table view的代理拿到外面,而把大家关心的数据构建保留在view controller中。

上一篇下一篇

猜你喜欢

热点阅读