A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 朱皓 中级黑马   /  2012-2-25 09:55  /  1607 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有谁知道工厂模式啊

3 个回复

倒序浏览
工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。
回复 使用道具 举报
程序在接口和子类之间加入一个过渡端,通过此过渡端取得接口的实例化对象,这个过渡端就是工厂类,这种思想就是工厂模式,下面一个简单例子可以看看
interface Fruit{        // 定义一个水果接口
        public void eat() ;        // 吃水果
}
class Apple implements Fruit{
        public void eat(){
                System.out.println("** 吃苹果。") ;
        }
};
class Orange implements Fruit{
        public void eat(){
                System.out.println("** 吃橘子。") ;
        }
};
class Factory{        // 定义工厂类
        public static Fruit getInstance(String className){
                Fruit f = null ;
                if("apple".equals(className)){        // 判断是否要的是苹果的子类
                        f = new Apple() ;
                }
                if("orange".equals(className)){        // 判断是否要的是橘子的子类
                        f = new Orange() ;
                }
                return f ;
        }
};
public class InterfaceCaseDemo05{
        public static void main(String args[]){
                Fruit f = Factory.getInstance(args[0]) ;        // 实例化接口
                if(f!=null){        // 判断是否取得实例
                        f.eat() ;
                }
        }
};
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马