我们写代码的时候,经常会把多个类相同的功能代码(方法)抽出来封装成父类,各个子类继承父类再做扩展。
随着公司开发维护的项目越来越多,你会发现各个项目中有一些通用的可复用的代码或者模块,考虑到资源替换,工程复用等问题,需要把公共部分剥离出来。
公司名为sky_dreaming,目前公司准备开发app1,app2,app3三款应用。把众多项目中公共的部分剥离出来,整理成独立的共享库common(可以打包成jar包,也可以搭建共享服务器),common包含config(配置文件,代码),util(工具类集合),view(自定义view,第三方公共组件等等)等。各个工程依赖共享库独立开发,形成项目集群。
得出下面这种整体的架构(具体的app开发独立分开进行):
把App中Application,UI部分公共方法抽出,封装成模板方法,结合mvp设计思想,整合成base lib,优化整理:
Porjects:项目整体架构
Base Lib:基层MVP架构
Common Lib:资源共享库
剥离app集群公用组件,组成共享库,config,util为可选,view存放一些最通用的自定义view,比如对话框,定制的列表等,如果有些view可能不会通用,建议把它放在单个应用的common包下。
App Module:App工程架构
每个app基于base common,单独开发。