美文网首页
EIT造型 + 内涵 = 设计模式

EIT造型 + 内涵 = 设计模式

作者: 子玲2017 | 来源:发表于2017-05-24 18:08 被阅读0次

一、什么是EIT造型?

首先,我们先来了解类别有哪些?

  • 一般(具象)类别:一般的函数。
  • 抽象类别:有一个或者多个函数是抽象的。
  • 纯粹抽象类别:所有函数都是抽象。也称接口(Interface)、卡榫函数(Hook函数)、抽象函数。

其次, 主动型 VS. 被动性API

  • 主动型API:基类函数可以主动调用子类的函数。
  • 被动性API: 子类函数调用基类的函数。

第三,IoC(Inversion of Control)机制

  • IoC(Inversion of Control)机制,称为控制反转。即基类控制子类。
  • 属于主动型API

了解以上三个概念,我们开始EIT造型了(以汽车来做比喻)

  • E : Engine. 引擎 ,基类。
  • I : Interface. 接口
  • T : Tire. 轮胎,子类。
图1.png

基本型:如图2

图2.png

EIT变形(一):如图3


图3.png

EIT变形(二):如图4


图4.png

下面我们来谈谈EIT造型与设计模式的关系:

以 (Factory Method) 工厂模式 为例:


图5.png 图6.png

工厂模式是由两个EIT造型组成的。而两个EIT造型是怎么联系?如图7


图7.png

图7中,实线的箭头表示 ConcreateCreator子类 实现 Creator基类 的抽象函数。虚线的箭头表示 new ConcreteProduct对象。

代码如下:

public abstract class Creator {

    public Product anOperation(){
        return factoryMethod();
    }
    public abstract Product factoryMethod();

}
public class ConcreteCreator extends Creator {

    @Override
    public Product factoryMethod() {
        Product add = new ConcreteProduct();
        return add;
    }
}

public abstract class Product {

    public float numberA;
    public float numberB;
    public abstract float calCulate();
}
public class ConcreteProduct extends Product {
    @Override
    public float calCulate() {
        return numberA + numberB;
    }
}
//调用
 Creator creator = new ConcreteCreator();
        Product product = creator.anOperation();
        product.numberA = 10;
        product.numberB = 30;
        System.out.println("addSum = "+ product.calCulate()); // 40

相关文章

  • EIT造型 + 内涵 = 设计模式

    一、什么是EIT造型? 首先,我们先来了解类别有哪些? 一般(具象)类别:一般的函数。 抽象类别:有一个或者多个函...

  • Template模式

    其实所有设计模式都是有EIT结构组成,EIT就好比原子,具体的模式好比分子,分子由原子组成。 比如现在要画两幅画,...

  • Spring 准备内容

    准备内容 原型设计模式 PropotypeModle 原型模式也属于创造型设计模式,用原型实例指定创建对象的种类,...

  • 设计模式:创造型

    工厂方法 抽象工厂 单例 构建者模式:Android中的Dialog.builder 原型模式:java中的clo...

  • python设计模式(十三):解释器模式

    此前已经将创造型模式、结构性模式分享了,后面将分享模式设计中的另一种典型模式:行为型模式。 创造型模式是解决实体的...

  • Java设计模式之桥接模式

    概念 桥接模式:亦称Bridge模式,构造型设计模式之一。  将抽象部分(abstraction)和它的实现部分(...

  • Abstract Factory

    UML : introduction : Abstract Factory Pattern创造型设计模式我的理解为...

  • 软装

    采购模式:套餐模式,品牌代购,高端定制(高定)。个性化搭配设计, 个性化定制品牌故事及内涵软装设计=设计理念(概念...

  • 软装流程

    采购模式:套餐模式,品牌代购,高端定制(高定)。个性化搭配设计, 个性化定制品牌故事及内涵软装设计=设计理念(概念...

  • python设计模式(十二):结构型模式总结

    前面总结了创造型结构模式《python设计模式(四):单例模式及创建型模式总结》,及其创造性模式的常用几种模式总结...

网友评论

      本文标题:EIT造型 + 内涵 = 设计模式

      本文链接:https://www.haomeiwen.com/subject/zhlgxxtx.html