简单工厂模式
1.定义
提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口,抽象类,也可以是具体的类。
2.示例代码
/*接口定义,该接口可以通过简单工厂来创建*/ public interface Api{ public void operation(String s); } /*接口具体实现类A*/ public class ImplA implements Api{ public void operation(String s){ System.out.println("ImplA s==" + s); } } /*接口具体实现类B*/ public class ImplB implements Api{ public void operation(String s){ System.out.println("ImplB s==" + s); } }
/*工程厂类*/ public class Factory{ public static api createApi(int condition){ Api api = null; if(condition == 1){ api = new ImplA(); }else if(condition == 2){ api = new ImplB(); } return api; } }
/*客户端调用*/ public class Client{ public static void main(String args[]){ Api api = Factory.createApi(1); api.operation("正在使用简单工厂"); } }
3.实际应用
虽然从理论上来讲,简单工厂什么都能创建,但对于简单工厂可创建对象的范围,通常不需要太大,建议控制在一个独立的组件级别,或者一个模块级别,也就是一个组件或模块简单工厂。否则这个简单工厂类会职责不明,会有大杂烩的感觉。
简单工厂模式本质:选择实现
扫描二维码关注公众号,回复:
246475 查看本文章