您的位置:首页 > 运维架构 > 网站架构

面向对象的架构设计

2016-07-02 18:07 405 查看
高焕堂老师的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

按照这样的架构模式,插件是可插拔的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: