从架构到代码演练

来源:互联网 发布:mac 怎么让终端翻墙 编辑:程序博客网 时间:2024/05/17 23:37
    上一篇浅尝架构师的滋味 从EIT ,造型的角度向大家简单介绍了架构师与app开发者的分与合的职责。架构师的任务就是将客户的需求按照买主到了的前后分成两部分,第一部分写在基类、第二部分写在子类,编写的是E and I ,app开发者则是按照架构师的i,编写T ,然后将 T 整合到E上。从这种分与合的模式,产生了强龙与地头蛇的分工,以及从分工到外包模式。强龙设计EI,限制、控制了T的开发,然后将T的任务外包给地头蛇去做。本篇则再简单介绍一下架构的一些东西,更重要的是EIT造型的好处:可以直接落实为代码,而不需要任何的思考。从几个实例向大家介绍EIT究竟如何方便的落实为代码。

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> 的计算结果

        

然后根据这个系统结构就可以将其迅速落实为代码了。


题目三:


0 0