1:抽象工厂描述:
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
2:抽象工厂模式图:
3:目的:
提供一个创建一系列相关或者相互依赖对象的接口,并且避免了工厂方法中创建不同的产品时不用去修改工厂方法,只需去实现抽象工厂类然后去实现自己的工厂方法。
4:代码:
public interface AbatractProduct {
public void Product();
}
public class ProductFirst implements AbatractProduct {
@Override
public void Product() {
System.out.println("this is ProductFirst!");
}
}
public class ProductSecond implements AbatractProduct {
@Override
public void Product() {
System.out.println("this is AbatractProduct !");
}
}
//工厂类的接口
public interface AbatractFactory {
public void produce();
}
public class SendMailFactory implements AbatractFactory {
@Override
public Sender produce(){
return new ProductFirst ();
}
}
public class SendSmsFactory implements Provider{
@Override
public Sender produce() {
return new ProductSecond();
}
}
本文介绍抽象工厂模式的设计理念,通过创建一系列相关或相互依赖的对象接口,解决了工厂方法模式中的闭包原则问题。提供了代码示例展示如何实现抽象工厂类及具体工厂类。
1004

被折叠的 条评论
为什么被折叠?



