面向对象的架构设计

高焕堂老师的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

按照这样的架构模式,插件是可插拔的。

你可能感兴趣的:(面向对象的架构设计)