2、别工厂模式工厂模式将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式(工厂模式可以动态决定将哪一个类实例化)工厂模式有以下几种形态:简单工厂(SimpleFactory)模式工厂方法(FactoryMethod)模式抽象工厂(AbstractFactory)模式如何使用接口?假设有一个接口Api,然后有一个类Impl实现它,在客户端怎么用这个接口呢?通常都是在客户端创建一个Impl的实例,把它赋值给一个Api接口类型的变量,然后客户端就可以通过这个变量来操作接口的功能不用模式的解决方案public interface Api {public void
3、test1(String s);}public class Impl implements Api{public void test1(String s) {System.out.println("The input s=="+s);}}public class Client {public static void main(String[] args) {Api api = new Impl();api.test1("测试!");}}Api api = new Impl();在客户端调用的时候,客户端不但知道接口,同时还知道具体的实现就是Impl。而接口的思想是“封装隔离
7、public class Factory {public static Api createApi(){return new Impl();}}3)使用简单工厂public class Client {public static void main(String[] args) { //重要改变,没有new Impl()了,取而代之Factory.createApi()Api api = Factory.createApi();api.test1("测试!");}}例1假设有一个音乐盒工厂,购买音乐