上班这么久了,设计模式 知道的好少,代码写得懒得一逼。
经验来自于博主:http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html
1.工厂模式:
建立一个 工厂类,对实现了统一接口的 类进行 实例的创建。
抽象工厂模式 符合 面向对象的 开闭原则。
比如:
一个厨师 会做很多种菜,现在需要对每个 菜进行实例的创建好。
第一步,先对 厨师 进行抽象 ,然后 给出一个 抽象的 做菜接口:
public interface chef(){ public void cooking(); }
第二步,创建两个宫保鸡丁,跟韭菜鸡蛋 的实体类 实现 做菜的接口
public class KungPaoChicken interface chef(){ public void cooking(){ System.out.println("做出一个宫保鸡丁盖饭"); }} public class JiuCaiJiDan interface chef(){ public void cooking(){ System.out.println("做出一个韭菜鸡蛋盖饭"); } }
第三步 创建 两个工厂类,对上面两个类进行 实例的创建。同时 这两个工厂类还需要实现一个接口,这个接口 是对 工厂类里边 创建类的方法做了抽象,
public class KungPaoChickenFactory interface Production (){ public chef produce(){ return new KungPaoChicken(); }}public class JiuCaiJiDanFactory interface Production (){ public chef produce(){ return new JiuCaiJiDan(); }} public interface Production(){ public chef produce(); }
下面写个测试类:
public class Test(){ public void static main(String args[]){ Production p=new KungPaoChickenFactory(); KungPaoChicken ji=p.produce(); ji.cooking(); } }
总结: 抽象工厂模式在 有新的工厂类需要创建是不需要改动原来的代码,只需要实现 接口,添加新的实现类就可以。