`

抽象工厂模式(Abstract Factory Pattern)_Java

阅读更多

Abstract Factory Pattern

抽象工厂模式

 

抽象工厂,怎么理解呢?
简单点就是指一个工厂的出口不再是之前的一个了,变成多个了,举个例子来说。


工厂接口下有俩个子工厂,一个生产热带产品,一个生产亚热带产品,他们分别生产两种物品,水果和蔬菜!热带工厂和亚热带工厂均提供了俩个产品的出口,所以他们都是抽象工厂。

 

package com.pattern.abstractfactory;
/**
 * 工厂提供两个出口,一个是生产水果,一个是生产蔬菜
 */
public interface Factory {
	public Fruit createFruit(String name);
	public Veggie createVeggie(String name);
}

 

package com.pattern.abstractfactory;
/**
 * 水果接口
 */
public interface Fruit {
	public void sayName();
}

 

package com.pattern.abstractfactory;
/**
 * 蔬菜接口
 */
public interface Veggie {
	public void sayName();
}

 

package com.pattern.abstractfactory;
/**
 * 生产热带产品的工厂
 */
public class TropicalFactory implements Factory{

	@Override
	public Fruit createFruit(String name) {
		if(name!=null&&name.equalsIgnoreCase("shuiguo")){
			System.out.println("热带水果");
		}
		return null;
	}

	@Override
	public Veggie createVeggie(String name) {
		if(name!=null&&name.equalsIgnoreCase("shucai")){
			System.out.println("热带蔬菜");
		}
		return null;
	}

}

 

package com.pattern.abstractfactory;
/**
 * 生产亚热带产品的工厂
 */
public class SubTropicalFactory implements Factory{

	@Override
	public Fruit createFruit(String name) {
		if(name!=null&&name.equalsIgnoreCase("shuiguo")){
			System.out.println("亚热带水果");
		}
		return null;
	}

	@Override
	public Veggie createVeggie(String name) {
		if(name!=null&&name.equalsIgnoreCase("shucai")){
			System.out.println("亚热带蔬菜");
		}
		return null;
	}

}

 

package com.pattern.abstractfactory;

public class Test {
	@SuppressWarnings("unused")
	public static void main(String[] args) {
		Fruit f=new TropicalFactory().createFruit("shuiguo");
		Veggie v=new TropicalFactory().createVeggie("shucai");
	}
}

 

 

分享到:
评论

相关推荐

    创建型模式之抽象工厂模式(Abstract Factory Pattern)

    3、抽象工厂模式(Abstract Factory Pattern) 用意:一个工厂生产一系列产品

    抽象工厂模式(Abstract Factory Pattern)

    抽象工厂模式(Abstract Factory Pattern) 引入: 在前面介绍的两个创建型模式里面,我们解决的都是有关"new"的问题,用它们来避免显式指定类创建对象。我写的也非常简单易懂,相信看过的朋友们都应该对简单工厂...

    创建型-抽象工厂模式(Abstract Factory)

    抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。

    设计模式 之 “抽象工厂模式[Abstract Factory Pattern]”

    NULL 博文链接:https://lym6520.iteye.com/blog/701742

    [创建型模式] 设计模式之抽象工厂模式(Abstract Factory Pattern)

    NULL 博文链接:https://jacky-dai.iteye.com/blog/2294531

    Java24种设计模式,Java24种设计模式,24种设计模式,学会了这24种设计模式,可以打遍天下无敌手,设计模式非常重要

    6、抽象工厂模式ABSTRACT FACTORY PATTERN 7、门面模式FACADE PATTERN 8、适配器模式ADAPTER PATTERN 9、模板方法模式TEMPLATE METHOD PATTERN 10、建造者模式BUILDER PATTERN 11、桥梁模式BRIDGE PATTERN 12、...

    设计模式_抽象工厂模式.zip

    抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责...

    用Java实现23种设计模式

    抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 2. 结构型模式 适配器模式(Adapter Pattern) 桥接模式(Bridge ...

    Python设计模式之抽象工厂模式原理与用法详解

    抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的类 下面是一个抽象工厂的demo: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'Andy' 大话...

    C#设计模式_设计模式_C#_

    抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype)结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接模式(Bridge Pattern) 8. 装饰模式(Decorator ...

    abstract-factory-pattern

    Java抽象工厂模式:解锁代码复用的新境界 在编程世界中,设计模式是一组被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它们能够帮助我们更好地组织代码,提高代码的可重用性、可维护性和可扩展性...

    33种JAVA设计模式DEMO

    抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 2 结构型模式 这些设计模式关注类和对象的组合。继承的概念被用来组合接口...

    C#版 24种设计模式

    备忘录模式(Memento Pattern) 策略模式(Strategy Pattern) 抽象工厂模式(Abstract Factory Pattern) 代理模式(Proxy Pattern) 单例模式(Singleton Pattern) 迭代器模式(Iterator Pattern) 访问者模式(Visitor ...

    design-pattern-java.pdf

    Factory Method Pattern 工厂三兄弟之工厂方法模式(一) 工厂三兄弟之工厂方法模式(二) 工厂三兄弟之工厂方法模式(三) 工厂三兄弟之工厂方法模式(四) 抽象工厂模式-Abstract Factory Pattern 工厂三兄弟之...

    python 抽象工厂模式(示例)

    # 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。# 该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。# 在抽象工厂模式中,接口是...

    cndt.rar_factory_ricetjv_多媒体

    Abstract factory pattern 抽象工厂模式,好源码

    Factory_Pattern_CPP:C ++中的抽象工厂模式

    此示例改编自漂亮的教程。

    Java设计模式,并加上个人理解

    5. 抽象工厂模式 (Abstract Factory) 6. 策略模式 (Strategy Pattern) 7. 适配器模式 (Adapter Pattern) 8. 模板方法模式 (Template Pattern) 9. 建造者模式 (Builder Pattern) 10. 原型模式 (Prototype ...

    设计模式PPT

     抽象工厂模式(Abstract Factory Pattern)  建造者模式(Builder Pattern)  原型模式(Prototype Pattern)  单例模式(Singleton Pattern) 结构型模式用来处理类或者对象的组合,主要包含以下7种设计...

    JAVA设计模式.rar

    抽象工厂模式【ABSTRACT FACTORY PATTERN】 门面模式【FACADE PATTERN】  适配器模式【ADAPTER PATTERN】  模板方法模式【TEMPLATE METHOD PATTERN】  建造者模式【BUILDER PATTERN】 桥梁模式...

Global site tag (gtag.js) - Google Analytics