您的位置:首页 > 其它

基于组件的业务模型---实现框架

2014-03-15 22:32 483 查看
首先,废话少说,上截图:

    


其中:

      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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐