JAVA設計模式筆記
JAVA設計模式
1.建立模式之工廠模式
工廠模式參考的是現實生產環境的工廠,不知道你是否在深圳的電子廠打工過,如果有這樣的經歷你就會很好理解。在工廠裡是按產品線劃分的,在每個產品的流水線上工人們各司其職,將一個個零部件組裝起來成為最終產品。就拿我之前呆過的工廠來說,在哪裡分了耳機產品線,音響產品線等。不瞎扯了,上程式碼。
1.1靜態工廠模式
interface Product {}
class Headset implements Product {}
class Speakerbox implements Product {}
public class 3nodFactory
{
//工廠一般不用例項化,所以定義私有構造方法
private 3nodFactory(){}
//定義工廠不同產線的功能方法
public static Product getHeadset(){}
public static Product getSpeakerbox(){}
}
//客戶端呼叫的時候根據客戶需求獲取不同產品
public class Client
{
public Product getProduct(String type)
{
Product product = null;
if(type.equals("speakerbox"))
{
product = 3nodFactory.getSpeakerbox();
}
else if(type.equals("headset"))
{
product = 3nodFactory.getHeadset();
}
return product;
}
}
----------
靜態工廠模式實現簡單,但是不便於擴充套件,如果工廠業務擴充套件新增加了產品線,那麼我們就需要修改現有的工廠類方法,這樣就違背了Open close principle(開閉原則),所以就產生了下面的抽象工廠模式。
1.2抽象工廠模式
//定義產品線介面
interface ProductLine { Product get() }
public SpeakerboxFactory implements ProductLine
{
public Product get()
{
return new Speakerbox();
}
}
public HeadsetFactory implements ProductLine
{
public Product get()
{
return new Headset();
}
}
public class 3nodFactory
{
public Product clientGetProduct(String type)
{
Product product = null;
if(type.equals("speakerbox"))
{
product = new SpeakerboxFactory().get();
}
else if(type.equals("headset"))
{
product = new HeadsetFactory().get();
}
return product;
}
}
----------
這就是最接近現實工廠的模型了,不同產線負責生產產品,客戶找公司下單。公司的擴充套件也只需要增加新的產品線,不用修改原有程式碼。
相關文章
- Java設計模式學習筆記(一) 設計模式概述Java設計模式筆記
- Java設計模式學習筆記(五) 單例模式Java設計模式筆記單例
- Java設計模式學習筆記(三) 工廠方法模式Java設計模式筆記
- Java設計模式學習筆記(四) 抽象工廠模式Java設計模式筆記抽象
- 重學Java設計模式-學習筆記(1)Java設計模式筆記
- 設計模式筆記(2)設計模式筆記
- 【設計模式筆記】(二)- Builder模式設計模式筆記UI
- 設計模式筆記:策略模式(Strategy)設計模式筆記
- Java設計模式學習筆記(二) 簡單工廠模式Java設計模式筆記
- java設計模式學習筆記-5-介面卡模式Java設計模式筆記
- java/android 設計模式學習筆記(1)--- 單例模式JavaAndroid設計模式筆記單例
- 【設計模式】設計模式(一)-- 大話設計模式讀書筆記設計模式筆記
- Java設計模式學習筆記——工廠模式與抽象工廠模式Java設計模式筆記抽象
- 學習筆記-設計模式:MVC模式筆記設計模式MVC
- 設計模式筆記---工廠方法模式設計模式筆記
- 設計模式學習筆記設計模式筆記
- 學習筆記-設計模式筆記設計模式
- java架構師筆記:Java中的轉換器設計模式Java架構筆記設計模式
- 設計模式學習筆記——單例模式設計模式筆記單例
- 設計模式學習筆記之策略模式設計模式筆記
- 設計模式讀書筆記-命令模式薦設計模式筆記
- JavaScript設計模式學習筆記JavaScript設計模式筆記
- php設計模式學習筆記PHP設計模式筆記
- Java多執行緒程式設計筆記10:單例模式Java執行緒程式設計筆記單例模式
- 設計模式學習筆記之工廠模式設計模式筆記
- 設計模式學習筆記之迭代器模式設計模式筆記
- 設計模式學習筆記之狀態模式設計模式筆記
- 設計模式學習筆記之單例模式設計模式筆記單例
- 3.[研磨設計模式筆記]單例模式設計模式筆記單例
- 設計模式筆記:介面卡模式(Adapter)設計模式筆記APT
- 大話設計模式 讀書筆記設計模式筆記
- Event Bus 設計模式學習筆記設計模式筆記
- 大話設計模式讀書筆記設計模式筆記
- 設計模式(Design Patterns)筆記 (轉)設計模式筆記
- Java23種設計模式學習筆記【目錄總貼】Java設計模式筆記
- Java設計模式——模板設計模式Java設計模式
- Java 基礎程式設計筆記Java程式設計筆記
- 《java程式設計思想》筆記1Java程式設計筆記