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

歡迎訪問 生活随笔!

生活随笔

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

java

Java 抽象工厂模式(类图及实现)

發布時間:2023/12/14 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 抽象工厂模式(类图及实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

抽象工廠模式

  • 使用場景:例如如生產不同品牌旗下的一系列產品
  • 例如我之前擁有奔馳這一品牌,但是我又想創建寶馬品牌,它們都分別擁有A(低端車),B(高端車)系列生產線。
    如圖:
品牌A(低端車)B(高端車)
奔馳carAcarB
寶馬BaoCarABaoCarB

可以分別建立低端車A和高端車B的接口,建立工廠的接口

類圖

代碼實現

產品規劃

  • A系列抽象類 及奔馳的carA和寶馬的BaoCarA實現
interface LowCar {public void run(); }class carA implements LowCar {public void run(){System.out.println("奔馳低端車生產成功! 時速100km!");}}class BaoCarA implements LowCar {public void run(){System.out.println("寶馬低端車生產成功! 時速100km!");}}
  • B系列抽象類 及奔馳的carB和寶馬的BaoCarB實現
interface HighCar {public void run(); }class carB implements HighCar {public void run(){System.out.println("奔馳高端車生產成功! 時速200km!");}}class BaoCarB implements HighCar {public void run(){System.out.println("寶馬高端車生產成功! 時速200km!");}}

生產線規劃:

  • 抽象工廠接口類
  • 奔馳工廠
  • 寶馬工廠
interface AbstractFactory {public LowCar createLowCar();public HighCar createHighCar(); } class BenFactory implements AbstractFactory { //奔馳生產新車了public LowCar createLowCar(){return new carA();};public HighCar createHighCar(){return new carB();};}; class BaoFactory implements AbstractFactory { //寶馬生產新車了public LowCar createLowCar(){return new BaoCarA();};public HighCar createHighCar(){return new BaoCarB();};};

客戶端類

public class AbstractFactoryClient {public static void main(String[] args) {System.out.println("我需要所有的奔馳車!");AbstractFactory factory1 = new BenFactory();LowCar car1= factory1.createLowCar();HighCar car11= factory1.createHighCar();car1.run();car11.run();System.out.println("我需要所有的寶馬車!");AbstractFactory factory2 = new BaoFactory();LowCar car2= factory2.createLowCar();HighCar car22= factory2.createHighCar();car2.run();car22.run();} }

輸出:

我需要所有的奔馳車! 奔馳低端車生產成功! 時速100km! 奔馳高端車生產成功! 時速200km! 我需要所有的寶馬車! 寶馬低端車生產成功! 時速100km! 寶馬高端車生產成功! 時速200km!
  • 簡單工廠方法與工廠方法創建工廠的著眼點為某類具體的產品,某個工廠與某個產品對應,而抽象工廠某個工廠與產品的家族對應,這個工廠可以生產這個品牌家族的一系列產品。
  • 產品雖然繁多,但是總有品牌,系列之分,基于抽象工廠模式以品牌與系列進行全局規劃,將看似雜亂無章的產品規劃不同的聯系,通過工廠管理起來,分而治之,合縱連橫

抽象工廠模式技術要點總結

  • 構建產品家族的系列產品對象。
  • 每個產品家族的產品系列都要在 AbstractFactory 接口里面定義。

總結

以上是生活随笔為你收集整理的Java 抽象工厂模式(类图及实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

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