zoukankan      html  css  js  c++  java
  • 面试重点:设计模式(二)——创建模式

          1.创建模式:简单工厂

            单例模式:

            ArticleDao接口:


    public interface ArticleDao {
    public void addArticle(String article) ;
    public void delArticle(int id) ;
    public void updateArticle(String article) ;
    public void findArticle(int id) ;
    }

    ArticleDaoForMybatislmpl.java
    public class ArticleDaoForMybatislmpl implements ArticleDao {
        @Override
        public void addArticle(String article) {
    
        }
    
        @Override
        public void delArticle(int id) {
    
        }
    
        @Override
        public void updateArticle(String article) {
    
        }
    
        @Override
        public void findArticle(int id) {
    
        }
    }

       

     

           对于程序员来说,写代码比改代码容易

           为了符合迪米特原则,我们要创建工厂类,不然就如同下面的一样实例化接口,要实现所有方法。

    public class User {
        public static void main(String[] args) {
            ArticleDao dao=new ArticleDao() {
                @Override
                public void addArticle(String article) {
    
                }
    
                @Override
                public void delArticle(int id) {
    
                }
    
                @Override
                public void updateArticle(String article) {
    
                }
    
                @Override
                public void findArticle(int id) {
    
                }
            };
        }
    }

           工厂类

      ArticleDaoFactory:

              User类里面:   

         

             符合开闭原则和迪米特原则,但是如果再添加框架,就需要修改工厂的代码。这就是简单工厂的局限性

             本问题在下一篇随笔解决。

    
    
    
    
    
  • 相关阅读:
    java表达式中运算符优先级
    数据库建表规则
    linux 安装java环境
    springboot指定端口的三种方式
    服务器监控
    Dubbo 的配置主要分为三大类
    oracle数值函数 abs()、 ceil()、 cos()、 cosh()
    linux基础命令总结
    redis+sentinel集群部署
    centos7制作本地yum源
  • 原文地址:https://www.cnblogs.com/lzy321/p/9990767.html
Copyright © 2011-2022 走看看