/**
* 所有工廠模式都是為了讓物件的呼叫者和物件建立過程分離,簡化呼叫端**,便於維護
* 簡單地物件建立則不需要使用工廠模式
*//**
* 簡單工廠(靜態工廠)
* * 1、建立產品介面
* 2、建立工廠類
* 3、工廠類通過傳入引數的不同返回不同的產品
* * 優點:
* 1、**呼叫簡單,類之間的關係也較簡單
* 缺點:
* 1、拓展性稍差,如果需要增加新的產品,則需要修改已有**(工廠類),不符合開閉原則(可擴充套件、禁修改)
*/public class ******factroy
}/**
* 工廠類,通過該類獲取產品例項
*/class arsenalfactoryelse if("喀秋莎".equals(name))else if("如意金箍棒".equals(name))else }}
/** * 產品介面
*/inte***ce iarm
/** * 以下為具體產品
*/class ak47 implements iarm
}class katyusha implements iarm
}class monkeykingbar implements iarm
}
/**
* 工廠方法
* * 1、定義產品介面
* 2、定義工廠抽象類
* 3、通過工廠建立具體產品
* * 優點:
* 1、方便對產品進行更換
* 2、方便增加新的產品
* 缺點:
* 1、產品多了類就會多 [乙個產品=乙個產品類+乙個產品類工廠](類**)
* 2、產品介面 修改後其他實現類都要改
*/public class factorymethod
}/**
* 產品介面
*/inte***ce imoveable
/** * 工廠抽象類
*/abstract class vehiclefactory
/** * 以下為具體產品及相應工廠
*/class plane implements imoveable
}class planefactory extends vehiclefactory
}class car implements imoveable
}class ca***ctory extends vehiclefactory
}
抽象工廠start
/**
* 抽象工廠類
*/public abstract class abstractfactory
/** * 抽象工廠對應的抽象產品類
*/abstract class weapon
abstract class vehicle
abstract class food
/**
* 產品系列1
*/public class defaultfactory extends abstractfactory
@override
public vehicle createvehicle()
@override
public food createfood()
}class ak47 extends weapon
}class tank extends vehicle
}class beef extends food
}
/**
* 產品系列2
*/public class magicfactory extends abstractfactory
@override
public vehicle createvehicle()
@override
public food createfood()
}class magicstick extends weapon
}class magicbroom extends vehicle
}class magicbread extends food
}
/**
* 抽象工廠
* 主要解決 產品系列 的功能
* * 1、定義 產品系列工廠 抽象類
* 2、定義每個產品的抽象類
* 3、定義具體產品、具體產品工廠
* * abstractfactory --> 定義產品的標準(方法)
* defaultfactory、magicfactory.... --> 實現具體的產品(方法)
* * 優點:
* 1、方便對產品系列進行增加、替換
* 缺點:
* 1、新增產品的話,每個工廠實現都要改
*/public class client
}
抽象工廠end 設計模式初級 03 抽象工廠模式
一 定義 抽象工廠模式是利用乙個超級工廠來建立其他工廠。該設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。在抽象工廠模式中,介面是負責建立乙個生成別的物件的工廠,而不是生產指定的類。每個生成物件的工廠都按照工廠模式提供物件。二 詳細介紹 解決問題 主要解決介面選擇的問題。使用場景 系統的產品...
初級 設計模式 裝飾模式
裝飾模式 類似於 模式 與 的區別 1 真實角色持有 角色並不一定需要呼叫者提供真實角色 呼叫者不需要持有真實角色 裝飾 呼叫者需要持有真實角色,並提供給裝飾器 2 真實角色控制 角色返回任意真實角色,甚至不返回真實角色 裝飾 對傳入的真實角色進行裝飾,然後將裝飾後的角色返回 我通過 角色 買一套精...
設計模式 工廠模式 抽象工廠模式
建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...