当前位置:首页 > 开发 > 编程语言 > 设计模式 > 正文

设计模式-抽象工厂模式

发表于: 2014-02-16   作者:Six_Penny   来源:转载   浏览:
摘要: 很长时间都没看书了,像设计模式这一类的经典书都还没看过,感觉好失败。从今天开始,每天写一篇博客,看我坚持吧。  抽象工厂模式提供一系列相关或相互依赖的对象的生成接口,而无需指定他们具体的类。  抽象工厂模式重点在一系列,这一系列对象是一起使用的,相当于一套,一个应用只能使用同一系列中的对象。抽象工厂模式在创建对象时也可能会用到工厂模式来生产具体的产品对象,也可能使用单例模式是一

很长时间都没看书了,像设计模式这一类的经典书都还没看过,感觉好失败。从今天开始,每天写一篇博客,看我坚持吧。

  抽象工厂模式提供一系列相关或相互依赖的对象的生成接口,而无需指定他们具体的类。

  抽象工厂模式重点在一系列,这一系列对象是一起使用的,相当于一套,一个应用只能使用同一系列中的对象。抽象工厂模式在创建对象时也可能会用到工厂模式来生产具体的产品对象,也可能使用单例模式是一个产品只有一个实例,也可能使用原型模式(prototype),但还没看,不懂。

  抽象工厂有一个抽象工厂接口:

  interface  AbstractFactory{

           AbStractProductA createProductA();

           AbstractProductB createProductB();

   }

 

   每一个系列 的对象可以实现AbstractFactory接口来创建真正的产品,产品之间是配套的。

    A系列接口:

 

public interface AbstractProductA {
	public void sayHello();
}

  B系列接口

   

public interface AbstractProductB {
	public void sayBye();
}

 每个产品可以实现对应的接口,工厂方法可以创建对应的产品实例。

为创建不同的产品对象,应该使用不同的具体工厂。

 

public class MainApp {
	public void createProduct(AbstractFactory factory)
	{
		AbstractProductA a=factory.createProductA();
		AbstractProductB b=factory.createProductB();
		a.sayHello();
		b.sayBye();
	}
	public static void main(String...strings){
		AbstractFactory factory1=new Factory1();
		AbstractFactory factory2=new Factory2();
		new MainApp().createProduct(factory1);
		new MainApp().createProduct(factory2);
	}
}

 抽象工厂方法可以在只改动很少一部分就可以从一个系列的产品切换到另一个系列,但是在添加一个产品的时候,所有的接口要添加额外的方法,每个具体的生成类也要相应的改动生成对应的产品,这种情况下可以传一个参数,指定要生成的对象的类、不过这也是有风险的,书上说可以基于原型和基于类的方式,不知道怎么实现。


  

 

设计模式-抽象工厂模式

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
定义 抽象工厂是OOP的体现,抽象出行为(接口),面向接口编程 现实 汽车厂的冲压设备,冲压前车门
设计模式-抽象工厂 AbstractFactory模式解决的问题是创建一组相关或者相互依赖的对象。 我们以一个
抽象工厂是简单工厂基础上的封装,与简单工厂产生具体的某一个对象不同,抽象工厂用以产生一系列有
前言 点击查看:设计模式系列 如果你对工厂模式这个概念不是很理解,建议:设计模式-简单工厂模式
抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具
抽象工厂模式 /************************************************************************/ /*设
1、简述 抽象工厂模式在工厂模式的基础上多添加了一层抽象,跟工厂模式比较一下,这个很容易看得出
抽象工厂模式(Abstract Factory Pattern) 每一个模式都是针对一定问题的解决方案,工厂方法模式针
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的。抽象工厂模式可以向客户端提供一个接
原文地址:http://leihuang.org/2014/12/03/abstract-factory/ Creational 模式 物件的产生需要消耗
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号