oO桀骜 2013-01-29 08:07 采纳率: 50%
浏览 2152
已结题

关于代码复用的一些探讨

我以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条回答

  • shiter 人工智能领域优质创作者 2015-01-13 15:28
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题