EIT造型 + 內(nèi)涵 = 設(shè)計模式

一、什么是EIT造型?

首先,我們先來了解類別有哪些?

  • 一般(具象)類別:一般的函數(shù)。
  • 抽象類別:有一個或者多個函數(shù)是抽象的。
  • 純粹抽象類別:所有函數(shù)都是抽象。也稱接口(Interface)、卡榫函數(shù)(Hook函數(shù))、抽象函數(shù)。

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

  • 主動型API:基類函數(shù)可以主動調(diào)用子類的函數(shù)。
  • 被動性API: 子類函數(shù)調(diào)用基類的函數(shù)。

第三,IoC(Inversion of Control)機制

  • IoC(Inversion of Control)機制,稱為控制反轉(zhuǎn)。即基類控制子類。
  • 屬于主動型API

了解以上三個概念,我們開始EIT造型了(以汽車來做比喻)

  • E : Engine. 引擎 ,基類。
  • I : Interface. 接口
  • T : Tire. 輪胎,子類。
圖1.png

基本型:如圖2

圖2.png

EIT變形(一):如圖3


圖3.png

EIT變形(二):如圖4


圖4.png

下面我們來談?wù)凟IT造型與設(shè)計模式的關(guān)系:

以 (Factory Method) 工廠模式 為例:


圖5.png
圖6.png

工廠模式是由兩個EIT造型組成的。而兩個EIT造型是怎么聯(lián)系?如圖7


圖7.png

圖7中,實線的箭頭表示 ConcreateCreator子類 實現(xiàn) Creator基類 的抽象函數(shù)。虛線的箭頭表示 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;
    }
}
//調(diào)用
 Creator creator = new ConcreteCreator();
        Product product = creator.anOperation();
        product.numberA = 10;
        product.numberB = 30;
        System.out.println("addSum = "+ product.calCulate()); // 40
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,381評論 25 708
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評論 18 399
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,609評論 3 93
  • 最害怕的不是追夢的時候丟了夢,而是在追夢的時候丟了自己… 今天的自習(xí)室出奇的安靜,看書的效率也高了不少,手機上...
    筆尖的琴閱讀 463評論 7 4
  • 靜 謐 ...
    閩娟子閱讀 252評論 2 2