首页 > 代码库 > 设计模式之简单工厂模式
设计模式之简单工厂模式
简单工厂模式
提供一个创建对象实例的功能,不需要关心其具体实现,被创建实例的类型可以是接口,抽象类、也可以是具体类。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。就拿创建用户来说来说,假如应用系统需要创建普通用户(需要在普通用户表中创建)与接口用户(需要在接口用户表中创建用户)那么自然的做法就是建立一个各种创建用户都适用的接口,如下图所示:
1.创建一个接口
public interface IUser { //添加用户 boolean addUser(long id,String name); }
2.创建两个类都实现IUser
public class NormalUser implements IUser { @Override public boolean addUser(long id, String name) { // TODO Auto-generated method stub //普通用户业务逻辑 return true; } } public class InterfaceUser implements IUser { @Override public boolean addUser(long id, String name) { // TODO Auto-generated method stub //接口用户业务逻辑 return false; } }
3.我们还需要一个工厂类UserManger ,根据调用者不同的要求,创建出不同的用户对象并返回。而如果碰到不合法的要求,会返回一个null。
public class UserManger { public static IUser UserCreateFactory(String type){ if("NormalUser".equals(type)){ return new NormalUser(); }else if("InterfaceUser".equals(type)){ return new InterfaceUser(); }else{ System.out.println("请输入正确的类型"); return null; } } }
4.最后我们创建测试类进行测试
public class Test { public static void main(String[] args) { String type = "NormalUser"; long id =10000L; String name = "逗你玩"; IUser user = UserManger.UserCreateFactory(type); boolean f = user.addUser(id, name); System.out.println(f); } }
5.总结
理解简单工厂:
简单内部工厂重要的功能是通过“选择合适的实现类”来创建实例对象。
简单工厂的优缺点:
帮助封装
解耦
增加客户端的复杂度
不方便扩展子工厂。
设计模式之简单工厂模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。