我写的java设计模式不会是十分官方,专业的解释,就是用比较简单的语言叙述
那么ok,第一个 工厂模式
同一个接口,不同子类实现,再来一个工厂类,来这个工厂类通过你申请对象输入的不同参数在工厂内部判断new相应的对象
就这一句话,你可能不是很明白,那看看下面这个例子
首先我们有一个接口
public interface inter {
void test_print();
}
ok我们要实体化的对象要实现这个接口
我创建了3个实体类
public class test_1 implements inter{
public void test_print()
{
System.out.println("test__1");
}
}
public class test_2 implements inter{
public void test_print()
{
System.out.println("test__2");
}
}
public class test_3 implements inter{
public void test_print()
{
System.out.println("test__3");
}
}
然后写一个工厂类去判断你要实例化对象的时候到底是实现哪个对象,需要一个判断,你调用的时候也要配合一下,传个参数,去区别你要实例化的对象
public class factory_test {
public inter get_test(String flag)
{
if(flag.equals("test1"))
{
return new test_1();
}
else if(flag.equals("test2"))
{
return new test_2();
}
else if(flag.equals("test3"))
{
return new test_3();
}
return null;
}
}
最后就是测试类了
public class bean {
public static void main(String [] args)
{
factory_test ft = new factory_test();
inter test1 = ft.get_test("test1");
inter test2 = ft.get_test("test2");
inter test3 = ft.get_test("test3");
test1.test_print();
test2.test_print();
test3.test_print();
}
}
输出结果
test__1
test__2
test__3
还有一个抽象工厂模式,就是在工厂模式基础上再迭代一次,在工厂的基础上再加一个工厂,把之前的工厂变成要生成的对象