面试重点:设计模式——工厂方法

Posted lzy321

tags:

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

    

   创建模式——工厂方法 

   本文解决上需要修改简单工厂的问题,增加东西,工厂要改代码。

    简单来说就是将工厂变成接口:

ArticleDaoFactory.java
public interface ArticleDaoFactory {
    public ArticleDao build();
}
MybatisArticleDaoFactory.java
public class MybatisArticleDaoFactory implements  ArticleDaoFactory{
    @Override
    public ArticleDao build() {
        return new ArticleDaoForMybatislmpl();
    }
}
HibernateArticleDaoFactory.java
public class HibernateArticleDaoFactory implements ArticleDaoFactory{

    @Override
    public ArticleDao build() {
        return new  ArticleDaoForHibernatelmpl();
    }
}

 现在User类里面会变成如下:

 ArticleDao dao1=new MybatisArticleDaoFactory().build();

 但是需要了解工厂的类,不符合迪米特法则,而且每个产品一个工厂很麻烦,之后就要用到抽象工厂。

 

以上是关于面试重点:设计模式——工厂方法的主要内容,如果未能解决你的问题,请参考以下文章

设计模式抽象工厂模式 ( 简介 | 适用场景 | 优缺点 | 产品等级结构和产品族 | 代码示例 )

面试设计模式系列之工厂模式

面试设计模式系列之工厂模式

面试设计模式系列之工厂模式

面试设计模式系列之工厂模式

面试官:工厂方法模式是什么?