本文主要是介绍《研磨设计模式》chap2 简单工厂simplefactory,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 不用工程模式,直接生成类
//某个接口(通用的、抽象的、非具体的功能的)
public interface Api {/*** 某个具体的功能方法的定义,用test1来演示一下。* 这里的功能很简单,把传入的s打印输出即可 * @param s 任意想要打印输出的字符串*/public void test1(String s);
}//对接口的实现
public class Impl implements Api{ public void test1(String s) {System.out.println("Now In Impl. The input s=="+s);}
}
public class Client {public static void main(String[] args) {Api api = new Impl();api.test1("哈哈,不要紧张,只是个测试而已!");}
}
2. 简单工程模式
- 客户只管工厂类,不用管具体里面是如何实现。
- 通过传参来决定生成哪个子类。
public class Factory {/*** 具体的创造Api对象的方法* @param condition 示意,从外部传入的选择条件* @return 创造好的Api对象*/public static Api createApi(int condition){//应该根据某些条件去选择究竟创建哪一个具体的实现对象//这些条件可以从外部传入,也可以从其它途径获取//如果只有一个实现,可以省略条件,因为没有选择的必要//示意使用条件Api api = null;if(condition == 1){api = new ImplA();}else if(condition == 2){api = new ImplB();}return api;}
}
//客户端,使用Api接口
public class Client {public static void main(String[] args) {//通过简单工厂来获取接口对象Api api = Factory.createApi(1);api.operation("正在使用简单工厂");}
}
这篇关于《研磨设计模式》chap2 简单工厂simplefactory的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!