一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Java設(shè)計(jì)模式之外觀模式(Facade模式)介紹

Java設(shè)計(jì)模式之外觀模式(Facade模式)介紹

2019-12-11 13:49junjie JAVA教程

這篇文章主要介紹了Java設(shè)計(jì)模式之外觀模式(Facade模式)介紹,外觀模式(Facade)的定義:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,需要的朋友可以參考下

外觀模式(Facade)的定義:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面。

Facade一個(gè)典型應(yīng)用就是數(shù)據(jù)庫(kù)JDBC的應(yīng)用,如下例對(duì)數(shù)據(jù)庫(kù)的操作:

復(fù)制代碼代碼如下:

public class DBCompare {
 Connection conn = null;
 PreparedStatement prep = null;
 ResultSet rset = null;
 try {
  Class.forName( "<driver>" ).newInstance();
  conn = DriverManager.getConnection( "<database>" );
    
  String sql = "SELECT * FROM <table> WHERE <column name> = ?";
  prep = conn.prepareStatement( sql );
     prep.setString( 1, "<column value>" );
  rset = prep.executeQuery();
  if( rset.next() ) {
    System.out.println( rset.getString( "<column name" ) );
  }
 } catch( SException e ) {
  e.printStackTrace();
 } finally {
  rset.close();
  prep.close();
  conn.close();
 }
}


上例是Jsp中最通常的對(duì)數(shù)據(jù)庫(kù)操作辦法。

 

在應(yīng)用中,經(jīng)常需要對(duì)數(shù)據(jù)庫(kù)操作,每次都寫(xiě)上述一段代碼肯定比較麻煩,需要將其中不變的部分提煉出來(lái),做成一個(gè)接口,這就引入了facade外觀對(duì)象。如果以后我們更換Class.forName中的<driver>也非常方便,比如從Mysql數(shù)據(jù)庫(kù)換到Oracle數(shù)據(jù)庫(kù),只要更換facade接口中的driver就可以。

我們做成了一個(gè)Facade接口,使用該接口,上例中的程序就可以更改如下:

復(fù)制代碼代碼如下:

public class DBCompare {
 String sql = "SELECT * FROM <table> WHERE <column name> = ?";  
 try {
  Mysql msql=new mysql(sql);
  prep.setString( 1, "<column value>" );
  rset = prep.executeQuery();
  if( rset.next() ) {
   System.out.println( rset.getString( "<column name" ) );
  }
 } catch( SException e ) {
  e.printStackTrace();
 } finally {
  mysql.close();
  mysql=null;
 }
}


可見(jiàn)非常簡(jiǎn)單,所有程序?qū)?shù)據(jù)庫(kù)訪問(wèn)都是使用改接口,降低系統(tǒng)的復(fù)雜性,增加了靈活性。

 

如果我們要使用連接池,也只要針對(duì)facade接口修改就可以。

Java設(shè)計(jì)模式之外觀模式(Facade模式)介紹

由上圖可以看出,facade實(shí)際上是個(gè)理順系統(tǒng)間關(guān)系,降低系統(tǒng)間耦合度的一個(gè)常用的辦法,也許你已經(jīng)不知不覺(jué)在使用,盡管不知道它就是facade。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: juy_661佐佐木明希在线播放 | 男人晚上适合偷偷看的污污 | 精品综合久久久久久8888 | 久久久久久久尹人综合网亚洲 | 免费看隐私男生网站 | 日韩影院在线观看 | 国产免费福利片 | 天仙tv微福视频 | 欧美亚洲另类综合 | 日本精品一区二区在线播放 | 午夜影院网页 | 视频免费看 | 99久久精品久久久久久清纯 | 毛片在线观看网站 | 国产精品亚洲w码日韩中文 国产精品香蕉在线观看不卡 | 第一福利在线观看永久视频 | 天天色综合三 | 含羞草传媒每天免费一次破解 | 四虎永久在线精品国产馆v视影院 | 亚洲国产99在线精品一区二区 | 欧美日韩一区二区三在线 | 女人狂吮男人命根gif视频 | 国产精品视频免费视频 | 香蕉97超级碰碰碰免费公 | 国产精品色拉拉免费看 | 91亚洲精品国产自在现线 | 日本黄色大片网站 | 久久免费观看视频 | 精油按摩日本 | 美女靠逼免费网站 | 乖女的嫩奶水h文孕妇 | 免费精品视频在线 | 国产免费小视频在线观看 | 亚洲美女爱爱 | chinese男性厕所撒尿合集 | 国产精品免费aⅴ片在线观看 | 福利视频一区二区牛牛 | 欧美影院天天5g天天爽 | 亚洲成人99| 99久久精品免费看国产情侣 | 精品国产一级在线观看 |