• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






高煥堂.EIT

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

Framework-zz-38

     By 高焕堂 2012/05/28   

[Go Back]

[請指教:高老師的免費on-line教學視頻]  

                                                                                                               

Android & Framework:应用框架与平台框架开发技术   

 

 

多层EIT造形 & 多层框架体系 

 

1. 复习:单层框架与多层框架体系

     在之前的<五子棋>框架范例中,我们自己建立了一个<单层>框架体系,如下图:

       

      这范例说明了,我们已经会藉由EIT造形来思考单层框架设计了。在本文里,将进一步阐述如何将EIT造形组织起来,成为多层EIT造形。然后藉由多层EIT造形来思考如何规划多层级框架体系。除了建构自己的多层框架之外,我们也能将上述自己的框架,融入到Android大框架里,成为跨公司(或跨团队)的多层框架体系。许多公司也都是这样做的,例如PhoneGap公司就建立一个跨OS平台的小框架;如下图所示:

 

     接下来,我们就来介绍如何设计多层级的EIT造形和框架体系了。

 

2.  建立多层EIT造形与框架体系

    从之前的文章和<五子棋>框架范例中,你已经知道如何基于EIT造形而建立一个框架。由于EIT造形本身具备重复组合的特性,其意味着,能够组合而成为多层级的EIT造形。然后,基于多层级的EIT造形,就能顺利建立(定义)出多层级(Multi-Layer)的框架体系了。其中,有两种途径:”巢状结构”和”插入Stub”。

 

3.  途径一:巢状结构

      让<T>里内含一个小EIT造形。例如,有一个单层的EIT造形,如下图:

 

     此时,只要让<T>里内含一个小的EIT造形,就成为双层的EIT造形了。

 

      其中,最简单的结构就是:大EIT造形的<T>等于小EIT造形的<E>,就成现出最简单的双层EIT造形了。

 

      上图是采取一般的EIT造形结构。如果改为”子类extends基类”的结构,就如下图所示:

 

      上述两个图的涵意是一致的。重复上述的规则和步骤,就能建立出更多层级的EIT造形体系了。就像在Android框架里,也处处可见到多层级的EIT造形结构,例如:

 

       其中的GLSurfaceView既扮演上层EIT造形的<T>,又扮演下层EIT造形的<E>。就是一个简单的双层EIT造形了。 

 

      这两层EIT造形都属于Android平台的Java层应用框架(Application Framework)的内容。这两层EIT造形都是Android团队所开发的。由于Android是十分开源又开放的平台,人人(或各厂商)皆能接Android里的EIT造形,而扩充出自己的EIT造形,成为自己设计和开发的小框架。例如,PhoneGap就是有第三方公司所扩充出来的小框架,来实践跨平台(如Android、iOS等)的功能;如下图所示的多层级EIT造形。 [歡迎光臨 高煥堂 網頁: http://www.cnblogs.com/myEIT/p/3294344.html ]

 

      其中,最简单的结构就是:大EIT造形的<T>等于小EIT造形的<E>,就成现出最简单的双层EIT造形了。

 

4. 途径二:插入Stub(即<E&I>)

     在<T>与<I>插入一个新的<E&I>。例如,有一个单层的EIT造形:

  

          在<T>与<I>之间插入一个新的插件(Stub),就如下图:

 

      这个Stub既扮演<T>又扮演<E&I>的角色,如下图:

 

     这个Stub既是上层EIT造形的<T>,同时又是下层EIT造形的<E&I>。于是,你可以发现,上述两个途径是殊途同归的,就如下图所示:

 

       例如,Android的典型结构,如下:

 

      这图里的onTransact()就是EIT造形里的<I>。这是标准的EIT造形,其<I>是支持<基类/子类>之间IoC调用的接口。运用曹操(Stub)类,形成两层EIT(两层框架)。

 

       在搭配Proxy类,而成为Prpxy-Stub模式,如下图所示: 

 

      这个Proxy-Stub模式就成为小框架的基础了。其典型架构为:

 

       也就有机会落实”挟天子以令诸侯”的有利策略了;如下图: 

  

5.  结语

    就狭义来说,造形与框架式不一样的。但是,广义来说,框架可视为较大的造形;而EIT造形可看成最小的框架;而且两者都能直接落实为代码。由于多层框架体系的组成元素,也就是多层EIT造形;所以我们可以藉由多层级的EIT造形体系来思考和规划多层级的框架体系。◆ 

[Go Back]

 

 

发表于 2013-11-12 11:17  高煥堂.EIT  阅读(246)  评论(0)    收藏  举报
 
刷新页面返回顶部