美文网首页
抽象工厂方法

抽象工厂方法

作者: 明朗__ | 来源:发表于2017-02-21 15:43 被阅读14次
  1. 创建user Role Product类
public class User {
    private String name;
    private String pwd;

    public String getName() {
        return name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}
public class Role {
    private String name;
    private String pwd;

    public String getName() {
        return name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}
public class Product {
    private String name;
    private String pwd;

    public String getName() {
        return name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}
  1. 创建操作抽象类Dao
public interface IRoleDao {
    void add(Role role);
    void remove(Role role);
    Role getUser(String  role);
}
  1. 创建Dao的具体实现类
public class MySqlRoleDao implements IRoleDao {
    @Override
    public void add(Role role) {

    }

    @Override
    public void remove(Role role) {

    }

    @Override
    public Role getUser(String name) {
        Role role=new Role();
        role.setName(name);
        return role;
    }
}
public class SqlServiceRoleDao implements IRoleDao {
    @Override
    public void add(Role role) {

    }

    @Override
    public void remove(Role role) {

    }

    @Override
    public Role getUser(String name) {
        Role role=new Role();
        role.setName(name);
        return role;
    }
}
  1. 创建一个抽象的工厂方法
public interface IDaoFactory {
    IUserDao createUserDao();
    IRoleDao createRoleDao();
    IProductDao createProductDao();
}
  1. 创建工厂方法的具体实现类
public class MySqlDaoFactory implements IDaoFactory {
    @Override
    public IUserDao createUserDao() {
        return new MySqlUserDao();
    }

    @Override
    public IRoleDao createRoleDao() {
        return new MySqlRoleDao();
    }

    @Override
    public IProductDao createProductDao() {
        return new MySqlProductDao();
    }
}
public class SqlServiceDaoFactory implements IDaoFactory {
    @Override
    public IUserDao createUserDao() {
        return new SqlServiceUserDao();
    }

    @Override
    public IRoleDao createRoleDao() {
        return new SqlServiceRoleDao();
    }

    @Override
    public IProductDao createProductDao() {
        return new SqlServiceProductDao();
    }
}
  1. 客户端调用
IRoleDao roleDao = new SqlServiceDaoFactory().createRoleDao();
Role role = roleDao.getUser("抽象工厂方法");
tv_text.setText(role.getName());

相关文章

  • python设计模式-1工厂设计模式-3抽象工厂

    抽象工厂简介 抽象工厂设计模式是工厂方法的泛化。抽象工厂是(逻辑上的)一组工厂方法, 每个工厂方法负责产生不同种类...

  • 抽象工厂模式

    抽象工厂模式给我的感觉就是,在一个抽象类工厂中定义好多个抽象方方法,每个抽象方法都对应一个子工厂方法,子工厂方法实...

  • 2021-11-16 - 学习记录

    设计模式学习:创建型:工厂(工厂方法,抽象工厂),建造者,单例,原型 设计模式:工厂模式 简单工厂 工厂方法 抽象工厂

  • 抽象工厂模式(选择产品簇)

    目录 回顾众多工厂模式 抽象工厂模式的理念 抽象工厂模式与工厂方法模式的差异 怎么来实现抽象工厂模式 抽象工厂模式...

  • Python设计模式之抽象工厂模式

    抽象工厂 抽象工厂设计模式是抽象方法的一种泛化。概括来说,一个抽象工厂是(逻辑上的)一组工厂方法,其中的每个工厂方...

  • 工厂方法模式及策略模式

    本文主要内容 工厂方法介绍 工厂方法 抽象工厂介绍 抽象工厂 策略模式 本文继续介绍相关设计模式,本期介绍工厂方法...

  • 设计模式

    ->工厂方法模式 ->抽象工厂

  • 工厂模式

    工厂方法模式 在工厂方法模式中,共涉及以下4个角色。抽象工厂角色,具体工厂角色,抽象产品角色,具体产品角色 抽象工...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

  • 解析-系统设计-设计模式

    设计模式 创建型 简单工厂、工厂方法、抽象工厂 1.工厂是某个创建方法延迟到子类,抽象工厂是 一组成套的方法 封装...

网友评论

      本文标题:抽象工厂方法

      本文链接:https://www.haomeiwen.com/subject/fdduwttx.html