1、 套用商业名词:框架与插件
E是控制点,透过I来控制T。E and I 组成了框架,T则是配件。架构师做EIT设计。 强龙做框架,地头蛇配插件
强龙的工作:
地头蛇:则负责编写配件T,并将其装配到E上。
区分插件与配件
2、亲身体验:从架构到代码的演练
架构师在买主到来之前基于已经具备的知识,来决定接口<I>,然后把其知识写在基类。基于<I>在买主到来之后,才把买主的知识写在子类<T>里面。然后把两者汇合,成为完整的知识。
依循EIT,进行演练…
1. 架构师依循EIT造形,分出<E、 I、 T>三部分
2. 把强龙知识写入于<E> 里
3. 把地头蛇(即买主)知识写入到<T> 里
3. 详细定义接口 <I>
4. <E> 是控制点,透过<I> 来调用<T> 。
题目一:
题目分析:首先根据买主到来前后将其进行划分,因为在买主到来之前已知要计算 1+2+3+....+N,则其应该写在基类中去,买主到来之后才知道N,则其必须写在子类,然后设计接口将其组合,因为基类要调用子类的N,则接口可以是 setN();然后通过接口就可以将两者组合到一起去,通过接口,基类就可以调用子类,然后一个完整的系统就出来了。
以上就是EIT的两种形式,一个是使用了接口,一个使用了抽象方法,本质上两者是一致的。那么把其落实为代码就如下图所示:
题目二:
计算N个值,但是不知道怎么计算。按照买主到来对其进行划分,如下图所示:
在买主到来之前只知道要计算N个值,所以其应该写在基类,买主到来之后,才知道如何去计算 ,则算法应该写在子类,然后通过接口基类调用子类的算法,把计算结果传给基类。
亦即,你可做下述三件事:
1) 将N值写在<T> 里
2) 替各买主而设计一个子类别,将各自采取的算法(如1 + 2^2 + 3^2 +… +N^2)撰写于<T> 里
3) 替<T> 设计一个抽象函数onCal( n:int ),让<E> 能调用<T> ,取得<T> 的计算结果
然后根据这个系统结构就可以将其迅速落实为代码了。
题目三: