项目整合心得

这周将两个子工程的项目做了代码的优化整合,积累了一些心得,所以记一下。

先说一下两个子工程的特点,首先这两个工程同用一个界面,但是数据源不同,界面上的输入输出也稍有不同。界面大致就是一个listview带有不同的itemtype。

要做的大致是一下几个方面:1.组件解耦,包括activity的解耦、listAdapter的解耦和itemview的解耦。2.跨工程的数据监听和service调用。

先说一下解耦,activity和adaper的主要思路就是抽象出base类主要负责UI的展示,由于数据的来源不同,需要抽出接口回调方法,分别在上层实现具体的数据装载,itemview的主要工作就是负责UI的展示,如果逻辑简单就不必解耦,直接根据传入参数做if、else的判断,如果逻辑较复杂,也可以再解一层,adapter层可根据不同的itemview转入不同的参数实现类,在具体实现类中处理不同的UI展示,这样就可以保持itemview层的代码简洁。

再说一下跨工程的数据监听,采用的是在原工程中设置一个代理类来监听需要的事件,当接口回调时就发送一个event,在现在工程中实现监听来接收这个event,并作出相应的改变,这里需要注意代理类的生命周期,不能太长,也不能太短,最好绑定在一个组件上这样可以保证能被正确的销毁,service调用也是类似的思路,不过正好相反,在现工程建代理类,需要调用原工程的方法时就用代理类发送一个事件,原工程设置监听来接收事件,处理完后再返回相应的结果。

总结一下大致的思路,解耦就是抽象和继承,跨工程调用就是代理,当然在做之前需要评估一下解耦和代理的代价和价值,如果没有太大的意义也就不比做的这么细,多写几个if、else或者建立工程依赖也是可以的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值