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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料