首页 > 其他 > 详细

设计模式之简单工厂模式

时间:2017-07-25 09:35:05      阅读:169      评论:0      收藏:0      [点我收藏+]

简单工厂模式

提供一个创建对象实例的功能,不需要关心其具体实现,被创建实例的类型可以是接口,抽象类、也可以是具体类。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。就拿创建用户来说来说,假如应用系统需要创建普通用户(需要在普通用户表中创建)与接口用户(需要在接口用户表中创建用户)那么自然的做法就是建立一个各种创建用户都适用的接口,如下图所示:

 技术分享

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.总结

理解简单工厂:

简单内部工厂重要的功能是通过“选择合适的实现类”来创建实例对象。

简单工厂的优缺点:

帮助封装

解耦

增加客户端的复杂度

不方便扩展子工厂。

设计模式之简单工厂模式

原文:http://www.cnblogs.com/doubleo2water/p/7232084.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!