zoukankan      html  css  js  c++  java
  • (五)外观模式-代码实现

    介绍

    概念:为子系统中的一组接口提供一个一致的界面, F a c a d e模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

    理解:某个子系统有很多很多的功能,包括一些很底层的操作,但是对于调用这个子系统的用户来说很少去操作底层的操作,那么用户希望有一个特别简单的入口就可以使用这个子系统的大部分操作,而不是调用各种类. 那么我们就给这个子系统加一个外观类吧

    使用场景:JDBC对于不同的数据库访问提供了相同的入口.

    好处:简化了用户使用,并且子系统发生改变用户不需要知道(例如JDBC,为QUERY做一个外观类).

    代码:

    比如我们对Jdbc进行一次外观包装:

    package note.com.facade;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class FacadeUtil {
    
        public static Statement getStatement(String url, String user,
                String password) {
            Statement stmt = null;
            try {
                // 建立连接
                Connection con = DriverManager.getConnection(url, user, password);
                // 创建语句
                stmt = con.createStatement();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return stmt;
        }
        
        public static void closeState(Statement state){
            try {
                state.close();
                state.getConnection().close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        
        }
    }

    用户在使用的时候就可以只调用该工具就能实现JDBC的大部分操作了,并且换数据库只需要传入对应的URL,USER,PASSWORD就可以了. 其实它只是个工具而已......

    当然JDBC本身已经对底层进行了外观包装了.

  • 相关阅读:
    [常用的SQL语句总结]
    [HTML辅助方法Html.Raw()的简单应用]
    [抹零操作的三种方法]
    如何禁用ViewState,EnableViewState属性设置
    vs2008自定义代码段
    C#.net模拟提交表单GET、POST
    .net 判断对象属性,model对象属性是否赋值,PropertyInfo
    PHP的microtime()? 不!这是 asp.net版的microtime()
    很不错的验证码显示页
    GridView加入自动求和求平均值小计
  • 原文地址:https://www.cnblogs.com/qinggege/p/5231130.html
Copyright © 2011-2022 走看看