面向对象的架构设计

高焕堂老师的android面向对象视频,讲的非常好。 http://www.maiziedu.com/u/2021/

其中他对 面向对象的理解,延伸出了EIT的概念。
 
E表示父类
I表示接口
T表示子类
 
E是控制点,透过I来控制T。
 
用代码来表示用两种方式:
第一种方式:
public class Parent
{
    public void Fun()
    {
        doSomething();
    }
 
    public abstract void onDoSomething()
    {
    }
}
 
public class Child extend Parent
{
 
    public void onDoSomething()
    {
          //具体实现;不同的子类实现 这里的代码有不同的处理逻辑
    }
}
 
public class  Main
{
    Parent object = new Child();
    object . Fun();
}
 
 
子类集成父类,实现了某个抽象方法。
Main类创建对象,来达到父类调用子类的执行流程。  这也叫做 IOC,依赖倒置。
 
 
架构师能够利用EIT能设计非常好的架构,
其中E和I是架构师来写的,T是客户端程序员写的。
 
E和I的作用在于复用。
T的作用在于拥抱变化。
 
举个例子,比如说:
吃火锅。
 
在客人来之前,火锅店老板已经把桌子和桌子中央的火锅架(凹下去的那个)弄好。  (架构师)
客人来之后,客人选择吃什么汤底,普通锅(中间没有挡板)还是鸳鸯锅。选择之后,就能把火锅盘放到火锅架上。(客户端程序员)
 
 
假如说,桌子火锅架和火锅都是融合在一体的,其中只有一个桌子是鸳鸯锅,那么来了三个客人都想吃鸳鸯锅。
这样就不能同时符合三个客人的需求了。
 
 
再举例:
汽车的引擎就是E和I
轮胎就是T
 
汽车在不同环境 换 不同的轮胎,能够驾驶在沙漠、草原、高速路。
 
在软件系统中也是一样道理。
EIT的设计使得系统变得分离,达到最终的目的是复用。E和I是复用的。
 
从大的系统架构来分析。
框架就是 E和I
插件就是 T
 
按照这样的架构模式,插件是可插拔的。
原文地址:https://www.cnblogs.com/zhuojun/p/5635809.html