简单工厂设计模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单工厂设计模式相关的知识,希望对你有一定的参考价值。

1)目的就是统一管理访问层的所有Dao,让Service在Dao的处理上相对独立
2)引用DaoFactory来管理所有的具体Dao,并采用单例模式限制DaoFactory的个数

测试类
`import org.junit.Test;

//业务层(不变)
public class Demo1 {

@Test
public void biaosh()
{
    Service service = new Service();
    service.create();
}

}
`
业务层

/**业务层*/
public class Service {

    public void create()
    {
        DaoFactory daoFactory = DaoFactory.getDaoFactory();
        IDao iDao = daoFactory.getDao();
        iDao.create();

    }

}

工厂层

/*工厂模式 */
public class DaoFactory {

    //NO1 外界不能方位,私有的构造函数
    private DaoFactory(){}

    //NO2 提供对外访问公共类,外界通过类名点访问
    public static DaoFactory getDaoFactory(){
        if(daoFactory==null){
            daoFactory = new DaoFactory();
        }
        return daoFactory;
    }

    //NO3  私有静态变量
    private static DaoFactory daoFactory;

    public IDao getDao(){
        return new Daojdbc();
    }   

}

接口层:

//接口层
public interface IDao {

    public void create();

}

访问层:

//访问层
public class Daojdbc implements IDao {

    public void create()
    {
        System.out.println("Daojdbcclass:create()");
    }

}

以上是关于简单工厂设计模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式-简单工厂工厂方法模式抽象工厂模式详解

Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---工厂模式之简单工厂

设计模式之简单工厂模式

C#之三十八 简单工厂设计模式