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类里面:   

         

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

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

    
    
    
    
    
  • 相关阅读:
    Docker PHP 扩展配置
    PHP 打水印功能
    MYSQL的主从复制
    CentOS7开启防火墙及特定端口
    非常全面的讲解Hosts文件
    STL的erase()陷阱-迭代器失效总结
    scons使用
    SecureCRT 使用技巧
    atomic, spinlock and mutex性能比较
    内存池的实现(二)
  • 原文地址:https://www.cnblogs.com/lzy321/p/9990767.html
Copyright © 2011-2022 走看看