zoukankan      html  css  js  c++  java
  • 面试重点:设计模式(三)——工厂方法

        

       创建模式——工厂方法 

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

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

    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();

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

    
    
  • 相关阅读:
    python入门-数据类型
    jmeter进行简单性能测试
    Charles抓包工具
    jemter分布式部署及linux下分布式脚本执行
    Java-List
    重载
    static关键字
    pycharm问题
    charles安装使用及问题
    安装pipenv
  • 原文地址:https://www.cnblogs.com/lzy321/p/9995774.html
Copyright © 2011-2022 走看看