[Go Back]

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

 

1.3  复习框架的EIT造形

1.3.1  前言

    在本节里,将简明地介绍框架的基本造形。关于EIT造形概念和技术,请你参阅高焕堂的著作:<<如何开发Android应用框架:採用EIT造形>>。 

 

1.3.2  框架的商业意义

<软件开发>的三个阶段

    一般而言,软件开发者都很能区分软件的「开发」与「执行」两个阶段。如果我们再依循上一节所提的『买主来了』时间点,来将开发阶段分为两段,就成为3个阶段了。如下图所示: 

 

  图1-7 软件开发(Software Development)的三个阶段 

      厘清这3个阶段之后,就可以演练进行一个简单的动作:把领域(和架构师)知识写入于框架基类里,然后把买主需求写入到应用子类。此外,还要定义两者之间的接口,让基类可以调用子类的函数。如下图: 

 

  图1-8  AP子类汇合到框架 

 

从<汽车轮胎>领悟框架的商业意义

      一般而言,在汽车产业里,通常由于要等客户出现才能决定轮胎,所以客户到来之前,先不做轮胎。于是,框架设计的时间轴为: 

 

 图1-9  汽车需求知识获得的时间轴 

      在汽车架构里,最明显的接口就是「轮盘」。它让人们随时可以更换轮胎,让引擎可以搭配不同的轮胎,于是汽车就能在不同的地形上跑了。例如,换上高速胎就能上高速公路、配上铁链可以上雪山、配上胖胖的轮胎就能上沙滩。于是,把轮胎部分去掉,先不做轮胎,而得出「汽车轮盘」(或「轮毂」)。如下图: 

 

  图1-10  把轮胎拔掉,得到接口

   有了轮盘,就能让汽车(引擎)适用于不同的地形;若套用软件的术语,汽车适用于不同地形,其意义就相当于:汽车跨越了不同平台;其简称:跨平台。基于这个样式,人们也创造了一种新的工作样式(Work Pattern):「强龙/地头蛇」分工模式。强龙设计轮盘、生产汽车(引擎);而地头蛇则生产轮胎。这种分工模式还能有效提升客户满意度:客人(买主)需求还没有呈现之前,强龙就能开始生产引擎;一旦客人来了(需求出现了),由地头蛇迅速配上轮胎,就能上路了,客人不亦乐乎。由于能迅速满足客制化的需求,「强龙/地头蛇」分工模式也是企业扩张其市场版图的重要商业模式。 

           [歡迎光臨 高煥堂 網頁:http://www.cnblogs.com/myEIT/ ]

     将轮胎从汽车上拔掉之后,一辆汽车可分离出三个重要的元素: 引擎、轮盘接口和轮胎。如下图: 

 

  图1-11  汽车的三个重要元素:<E>、<I>和<T> 

       把它对应到软件上,如下图: 

 

  图1-12  框架EIT造形

      此图凸显了,引擎(Engine)在幕后支撑轮盘接口(Interface),以及轮胎来实现接口。于是,挖掉轮胎之后,先做部分就是框架了。

    在本质上,接口就是纯粹抽象类别(Pure Abstract Class),所以也能将接口里的抽象函数并入到<E>里,就得到一个变异形,如下图所示: 

 

 图1-13  EIT造形的变异形 

      在本质上,上述两个图(图1-12和图1-13)的涵义是一样的,只是结构不一样而已。简而言之,框架EIT造形的基本结构如下: 

   

    图1-14  EIT造形的基本结构  

         一般而言,这种EIT造形最典型的应用就是Android的Java层框架上了。

 

[Go Back]