项目是别人写的,领导让我们重构。

虽然有MVP和MVVM,但领导用了三层架构(表现层,业务层,数据访问层)+MVC这么多年,敲定还是按这种体系。领导负责定基调,具体的实施当然由我们这些人做。

于是大体上会把acvitivy/fragment拆一下,主要做controller控制器,view会从里面拆出来单独成一部分,通过接口与activity交互。然后加上实体等部分。

大致形成view(视图),controller(控制器),bll(业务逻辑层),dal(数据访问层),entity(实体)几个部分。

小弟的水平十分有限。基本上项目做了,界面实现了,也就实现了。架构和设计模式一窍不通。所以来请教一下。

基本上应用的界面不多。几个一级页面是fragment,退出前不会销毁。
每个页面倒是有一定程度的业务逻辑。

首先想到的就是工厂模式。一个总的业务工厂,然后根据控制器的需求创建不同的业务类。
数据访问层可能也是类似去做。

然后想了想,既然几个一级fragment都是不销毁的。
业务逻辑的工厂类一旦创建具体的业务类就保存起来,以备调用时不用重新创建。

然后这样一想,好多东西都没有被回收。

再加上数据访问层也用工厂。似乎大部分的对象创建后都一直留着。

完全不懂架构设计,请教前辈有没有好点的解决方式?
对于android拆成view(视图),controller(控制器),bll(业务逻辑层),dal(数据访问层),entity(实体)有什么看法?

Android app按三层架构+MVC整理(重构)代码可行吗相关推荐

  1. WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)

    WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code) 原文:WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GL ...

  2. android APP隐私政策弹框的实现代码实例

    android APP隐私政策弹框的实现代码实例 步骤一:在assets目录下放置隐私政策的文本文件,比如privacy.txt 步骤二:在drawable目录下放置圆角弹出框演示: <?xml ...

  3. Android App的设计架构:MVC,MVP,MVVM与架构经验谈

    本文转载自https://www.tianmaying.com/tutorial/AndroidMVC,原文作者周鸿博. 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开 ...

  4. php的mvc三层架构,MVC三层架构

    1.三层架构 表现层(web层) web层:接受客户端请求,向客户端响应结果,通常客户端使用http协议请求: 控制层:负责接受请求 展示层:结果的展示 业务层(service层) 事务处理+业务处理 ...

  5. JSP-05三层架构+MVC

    文章目录 @[toc] 一.回顾三层架构 1.1基本概念 1.2作用与组成 1.3三层架构命名规范 1.3.1UI层(表示层) 1.3.2业务逻辑层 1.3.3数据访问层 二.MVC 2.1MVC简介 ...

  6. Android App 瘦身总结 第三章 代码混淆及优化

    目录 一.代码混淆proguard 二.调整第三方库 三.环境差异依赖 四.代码习惯 五.插件化 六.总结 在前两章我们分别从图片资源和jni动态库这两个方面来分析apk瘦身的优化点 Android ...

  7. android app自动化测试框架Appium资料整理

    by Ruiming.Lv 1   自动化测试 1.1    自动化测试简介 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.从广义上来讲,一切通过工具(程序)的方式来代替或辅助手工测试的 ...

  8. android app 64位架构升级 适配64位cpu架构

    一. 本质 so库的升级 二.so库升级 1.so库检查 1,首先设置: abiFilters "armeabi-v7a","arm64-v8a",然后编译出对 ...

  9. Scoops android app多主题架构(一)

    简要说明 Scoops是一个android应用库,主要解决的是多主题实现方案.通过配置多个R.style.Theme ,代码进行动态设置主题,重启当前界面实现. 原理分析 主要通过设置主题(存储设置值 ...

最新文章

  1. 我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程
  2. 人像摄影哪家强?同为双摄的OPPO R11不敌金立S10
  3. linux安装redis教程yum,linux下yum安装redis以及使用
  4. 洛谷2051 [AHOI2009]中国象棋
  5. 台积电砸7500亿强攻5nm
  6. LUOGU P4016 负载平衡问题
  7. oracle导出客户机使用us7a,导出已复制的文件系统 - Oracle® ZFS Storage Appliance 管理指南,发行版 OS8.6.0...
  8. Modelsim-Altera仿真设置
  9. 所以進入到二十一世紀之後
  10. Ubuntu系统多屏幕时 触摸屏如何分屏定位
  11. IntelliJ IDEA 2019.1 EAP5 发布,Maven 构建输出统一查看
  12. 五个美观好用的全能性IDE推荐(更新)
  13. java 熄灯问题_遍历搜索空间的例子:熄灯问题
  14. c语言中大写a对应的数字,123456789a
  15. 如何破解XP开机密码
  16. 最流行的前端框架vue基础
  17. 一个小蜜蜂游戏的源代码
  18. 关于dva的put,put.resolve
  19. Go Moudle笔记
  20. tslearn使用轮廓系数(silhouette_score)评估KShape聚类效果

热门文章

  1. 【错误记录】Google Play 上架报错 ( 您的应用包含违反“元数据”政策的内容 | GP 政策中心 )
  2. 树莓派wifi环境下初始化及环境配置
  3. .Net软件测试化之道 [James D.MCCaffrey]
  4. vscode 常用插件安装
  5. 【BZOJ1294】[SCOI2009]围豆豆(动态规划,状压)
  6. 解决 git extensions 每次提交需要输入用户名和密码
  7. 20145228《Java程序设计》课程总结
  8. 百度地图API使用之实现定位
  9. POJ-2195(最小费用最大流)
  10. 一些有关计组实验中Quartus中的名词或术语的解释