一、EIT介绍
高焕堂老师讲述的EIT造型是指:介于类与模式之间的一个代码构造,E是汽车的Engine,I是Interface,T是Tire,汽车中,设计好引擎和接口,就可以更换不同的轮胎,实现不同的使用方式。比如jeep车,可以更换越野轮胎,也可以更换公路轮胎。而在编程中,E是指基类,I指接口,T指的是子类,EIT造型广泛应用于代码中,同时也是IOC的一个实现方式。同时EIT也是构成设计模式、框架的基本单元。
二、EIT分类
1、基本型:
基类中有抽象方法,子类中实现该抽象方法,调用时通过基类调用子类,实现控制反转。
2、变形
三、EIT详解
EIT中有两个内涵(需求),一个是基类内涵,一个是子类内涵,而基类需求先于子类需求,并通过设计的接口将基类、子类整合起来。
实例:火锅店,整个需求:一个吃火锅的桌子
客人来了,第一种需求:桌上要放火锅,第二种需求:客人选择吃什么类型的火锅,接口:桌上的洞,可见,基类的需求就是在客人来之前就需要做好的,而子类的需求则是在客人来了后,才知道究竟要上什么样的锅。
从上面的案例中,可以看出架构师的职责是将需求根据买主到来前后,将其分成两种需求,设计出EI,APP开发者是根据接口开发出相应的子类,然后将子类装配到基类上执行。由此不难看出:其中有两个关键点:分、合。EIT造型表达的是架构师的先「分」与客人来了之后的「合」。
软件架构师的主要工作是分,并设计出接口,因为分,创造了<E>的复用性,以及<T>的可更换性 。因分而复用,因合而获利。正是基于这种EIT造型的分工:产生了从分工到外包模式。