日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java设计模式通俗_通俗易懂的Java设计模式之工厂方法模式

發布時間:2024/9/19 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java设计模式通俗_通俗易懂的Java设计模式之工厂方法模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 、工廠方法(Factory Method)模式

工廠方法模式的意義是定義一個創建產品對象的工廠接口,將實際創建工作推遲到子類當中。核心工廠類不再負責產品的創建,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現的接口,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。

二、 工廠方法模式角色與結構

抽象工廠(Creator)角色:是工廠方法模式的核心,與應用程序無關。任何在模式中創建的對象的工廠類必須實現這個接口。

具體工廠(Concrete Creator)角色:這是實現抽象工廠接口的具體工廠類,包含與應用程序密切相關的邏輯,并且受到應用程序調用以創建產品對象。在上圖中有兩個這樣的角色:BulbCreator與TubeCreator。

抽象產品(Product)角色:工廠方法模式所創建的對象的超類型,也就是產品對象的共同父類或共同擁有的接口。在上圖中,這個角色是Light。

具體產品(Concrete Product)角色:這個角色實現了抽象產品角色所定義的接口。某具體產品有專門的具體工廠創建,它們之間往往一一對應。

三、一個簡單的實例

// 產品 Plant接口

public interface Plant { }

//具體產品PlantA,PlantB

public class PlantA implements Plant {

public PlantA () {

System.out.println("create PlantA !");

}

public void doSomething() {

System.out.println(" PlantA do something ...");

}

}

public class PlantB implements Plant {

public PlantB () {

System.out.println("create PlantB !");

}

public void doSomething() {

System.out.println(" PlantB do something ...");

}

}

// 產品 Fruit接口

public interface Fruit { }

//具體產品FruitA,FruitB

public class FruitA implements Fruit {

public FruitA() {

System.out.println("create FruitA !");

}

public void doSomething() {

System.out.println(" FruitA do something ...");

}

}

public class FruitB implements Fruit {

public FruitB() {

System.out.println("create FruitB !");

}

public void doSomething() {

System.out.println(" FruitB do something ...");

}

}

// 抽象工廠方法

public interface Abstrac

總結

以上是生活随笔為你收集整理的java设计模式通俗_通俗易懂的Java设计模式之工厂方法模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。