zoukankan      html  css  js  c++  java
  • 菜鸟版JAVA设计模式—外观模式

    外观模式是一种比較easy理解的模式,作用非常easy。就是解耦合。

    结构也是非常easy,一个外观类。这个外观类持有非常多的业务类。

    再由客户类去调用这个外观类去实现一些列的业务操作。。。

     

    这个模式在我们的工作中很常见,一般来说。我们的项目都是分成了Action(conlller)层。service层,dao层。

    dao层负责与数据库交互,service层负责调用dao层的数据库操作,一般来说一张表相应一个dao。在一个serice层代码中,能够不止有单独的对某一张表。所以可能调用多个dao进行业务操纵,那么serivce类就相当于dao类的外观类,有了这个外观类。你能够把dao类直接都独立开来,不须要把不同表的SQL语句杂糅起来,对于程序的架构分层有非常好的效果。

    而Action类就相当于是客户类,他仅仅负责调用service类的一个方法就可以,就能够实现你的功能。

    用个最简单的代码来表示一下。

    2个dao类

    public class DaoB {
            publicvoid insertTableB(){
                   System.out.println("InsertTableB");
            }
    }


    public class DaoB {
            publicvoid insertTableB(){
                   System.out.println("InsertTableB");
            }
    }


     

    service

    public class Service {
            privateDaoA daoA = new DaoA();
            privateDaoB daoB = new DaoB();
           
            publicvoid biz(){
                   daoA.insertTableA();
                   daoB.insertTableB();
            }
    }



    action

    public class Action {
           
            publicstatic void main(String arg[]){
                   Serviceservice = new Service();
                   service.biz();
            }
    }



    执行结果:

    Insert TableA
    Insert TableB

     

    事实上在我们的工作其中经经常使用到,可是你并不知道这一种外观模式,这样做的目的还是我们上文所说的,解耦合,让一个类做一个类的事情。

     

     

  • 相关阅读:
    Unable to satisfy the following requirements解决方式
    零基础学python》(第二版)
    mysql 更新数据表的记录
    mysql创建数据库和删除数据库
    正则表达式
    python lambda函数详细解析(面试经常遇到)
    Linux 命令 统计进程数目
    Python 时间戳与时间字符串互相转
    python 安装配置(windows)
    linux 系统 tar 的用法详解
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6805353.html
Copyright © 2011-2022 走看看