博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建型模式(二):AbstractFactory ( 抽象工厂 )
阅读量:4607 次
发布时间:2019-06-09

本文共 1202 字,大约阅读时间需要 4 分钟。

核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。

例子:请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,带着MM到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让MM直接跟服务员说就行了。

1 interface Sample{
2 public void say(); 3 } 4 5 class SampleA implements Sample{
6 public void say(){
7 System.out.println("SampleA"); 8 } 9 } 10 11 class SampleB implements Sample{
12 public void say(){
13 System.out.println("SampleB"); 14 } 15 } 16 abstract class Factory{
17 public abstract Sample create(); 18 } 19 20 class FactoryA extends Factory{
21 public Sample create(){
22 return new SampleA(); 23 } 24 } 25 26 class FactoryB extends Factory{
27 public Sample create(){
28 return new SampleB(); 29 } 30 } 31 32 public class Test {
33 public static void main(String[] args) {
34 Factory factoryA =new FactoryA(); 35 Sample test1=factoryA.create(); 36 test1.say(); 37 Factory factoryB=new FactoryB(); 38 Sample test2=factoryB.create(); 39 test2.say(); 40 } 41 }

转载于:https://www.cnblogs.com/lich/archive/2011/12/06/2278461.html

你可能感兴趣的文章
使用 NPOI 、aspose实现execl模板公式计算
查看>>
行为型模式:中介者模式
查看>>
How to Notify Command to evaluate in mvvmlight
查看>>
33. Search in Rotated Sorted Array
查看>>
461. Hamming Distance
查看>>
Python垃圾回收机制详解
查看>>
jquery 编程的最佳实践
查看>>
MeetMe
查看>>
IP报文格式及各字段意义
查看>>
(转载)rabbitmq与springboot的安装与集成
查看>>
C2. Power Transmission (Hard Edition)(线段相交)
查看>>
STM32F0使用LL库实现SHT70通讯
查看>>
Atitit. Xss 漏洞的原理and应用xss木马
查看>>
MySQL源码 数据结构array
查看>>
(文件过多时)删除目录下全部文件
查看>>
T-SQL函数总结
查看>>
python 序列:列表
查看>>
web移动端
查看>>
pythonchallenge闯关 第13题
查看>>
linux上很方便的上传下载文件工具rz和sz使用介绍
查看>>