聚合优于继承

前端之家收集整理的这篇文章主要介绍了聚合优于继承前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天看同事的一个简单的界面,发现这个view controller继承于另一个base view controller。

看了下base view controller的代码后,发现以前和同事讨论是否需要一个base view controller的争论中,

我的担心都变成了事实:

1、这个base view controller已经成了一个什么都装的筐,base view controller中的大部分代码只为一、两个子类服务。根本没有

体现出base的意义来。

2、这个base view controller的存在,影响了我对代码的阅读。它时刻在干扰者我,时不时得要看一看子类中的哪个东西是在base view controller中实现的。


但是最要命的不是上两条,而是我发现的一个新问题,就是如果你想改base view controller中的代码时,负担非常重,因为你不

知道子类是如何利用父类功能的。base view controller最终会成为一个垃圾场,这个类中的代码将会只增不减,增加的时候是不考虑

全局的增加,只要我现在作的这个子类方便就可以了。而后来维护代码的人要修改原有代码或删除可能已无用的功能则要付出巨大的代

价。

而且,你如果要在另一个工程中用到现在工程中的代码,这个父类将是一个极大的拖累,你是带他还是不带呢?

原文链接:https://www.f2er.com/javaschema/284868.html

猜你在找的设计模式相关文章