首先,废话少说,上截图:
其中:
J12CompProxy为组件代理根本之所在,追根到底,实际上是Runable的子类(此处仅代表一种实现方式,可替换)
J12CompProxyFactory为组件工厂类,用于获取组件对象
J12CompSessionData用于组件之间传递消息(请注意此处的action,context,bundle)
------------------------------------------------------------------------------------------------------------------------------------------------------------
为何要用基于组件的业务模型这种方式?
1、本身业务比较丰富,功能繁多
2、业务变化快,上线紧急
基于组件的业务模型的好处?
1、每个组件包含:页面+业务逻辑+数据,作为一个整体模块,独立于整个系统;
2、最大程度降低耦合,保障并行开发,减少协作和沟通;
3、提高可复用性;
4、不改变原有的Android开发习惯。
先假设已存在组件A与组件B,组件A中包含ActivityA1,组件B中包含ActivityB1.
那么如何在组件之间进行跳转,也就是如何从ActivityA1中跳转到ActivityB1?
此时ActivityA1只需要知道2件事:系统中存在哪些组件,以及组件支持何种功能。
那么ActivityA1只需要告诉组件A,我要用组件B的XX功能即可实现跳转。
~~~~~~~~~~~~~~~~
阅读上述介绍后,请查看J12框架[https://github.com/LnYong/J12](直接下载https://github.com/LnYong/J12/archive/master.zip),然后继续阅读下面内容:
继续详细解释代码:
J12CompProxy,组件抽象类。
组件需要继承此类,并且实现其中的几个方法:run()方法,execute()方法,getInstance()方法。
run()方法实际为线程的run()方法,这里需要用户去实现此方法(一般在此方法中用Intent做Activity跳转);
execute()方法,用户需要实现此方法,并且在此方法中new当前线程的对象,调用其start()方法来执行处理业务的run()方法;
getInstance()方法以单例模式获取组件对象。
J12CompProxyFactory
组件工厂类。通过类全名反射得到组件对象。
J12CompSessionData
用于组件之间传递消息。提供了:
context:组件获取Activity上下文
action:用于通知组件跳转目的地
bundle:同Intent中的bundle,组件之间传递消息容器。
大概组件的实现思路是:
通过线程run方法来实现Activity之间的跳转,表现为组件之间的跳转。
详细代码请下载[https://github.com/LnYong/J12](直接下载https://github.com/LnYong/J12/archive/master.zip),包含实现以及实例。
有任何疑问或者建议请站内信联系或(https://github.com/LnYong/J12/issues)