2 orosem625 orosem625 于 2013.01.29 16:07 提问

关于代码复用的一些探讨

我以android为例,最近有些想法和困惑,或许和网友们探讨下可能会有更好的收获,因为我思考到一个死胡同里去了,可能我的见识还是太窄,如果你有什么可以指点的,希望可以指导下,谢谢!

主要是这样,如果已android为例的话,有很多个界面,并且界面都很相似,总结下来后这些界面中最多含有A、B、C、D四个元素,不同的就是可能每个界面需要用到的不一样比如有的界面用到A和B,有的用到B、C、D,有的用到A、B、C,如果要写很多的单独界面那就很麻烦繁琐,我就想来简化,下面是我的两个思路,可是感觉都不太好,各位有没有什么其他的可以指点的?

一、 因为所有的界面都要用到A\B\C\D这四个元素,不同的只不过是不一定是那几个罢了,所以我定义一个abstract的基类,将这四个元素都实现了,让所有的界面都继承这个基类,同时通过一个初始化方法来设置这四个元素中的那些是用来显示的。 这个方法比较简单,基类写好后所有其他的界面只需要初始化一下就好了,但是,不符合继承的定义,因为父类职能有公共方法,按上面的例子,那么父类中只应该含有B。可是又很方便,怎么办?

二、 以上面为例子的话父类中写好B元素,其他的界面需要什么元素再单独添加,这样符合父类的定义,可是其他界面中又需要写很多其他的元素,比如某页面page1和page2都需要A元素,那么这两个页面都要写A的方法,很繁琐不是吗?

大家有没有什么更好的想法或者觉得上面的两个做法,哪一个好呢?

1个回答

wangyaninglm
wangyaninglm   Ds   Rxr 2015.01.13 23:28

安卓有很多的开源框架,我觉的你探讨这些都非常好,但是github上面开源 框架我觉的是比较值得学习的

Csdn user default icon
上传中...
上传图片
插入图片