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

服務(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。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩在线一区二区三区 | 国产人成精品午夜在线观看 | 97久久天天综合色天天综合色hd | 日韩影院在线 | 农村妇女野战bbxxx | 欧美午夜寂寞影院安卓列表 | 蘑菇香蕉茄子绿巨人丝瓜草莓 | 美女翘臀跪床被打屁股作文 | 热99精品视频| 免费看国产精品久久久久 | 亚洲第五页| 校园春色自拍偷拍 | 国产精品suv一区二区 | 暖暖中国免费观看高清完整版 | 亚洲国产日韩欧美在线vip1区 | 国产成人精品曰本亚洲78 | 乖女的嫩奶水h文孕妇 | 免费的网址 | 贰佰麻豆剧果冻传媒一二三区 | 大胆暴露亚洲美女xxxx | 亚洲成人黄色网址 | 久久久大香菇 | 日韩欧美一区二区三区视频 | 青草草在线观看 | 色老板最新网站视频地址 | 精品综合久久久久久8888 | 五月一区二区久久综合天堂 | 国产精品videosse | 亚洲视频免费 | 搡60一70岁的老女人小说 | 玩两个少妇女邻居 | 超兴奋朋友的中文字幕下 | 欧美sex另类孕妇 | 国产肥老上视频 | 91精品国产高清久久久久久io | 色怡红院| 日本888xxxx| 视频久久精品 | 雪恋电影完整版免费观看 | 亚洲高清中文字幕精品不卡 | 好男人好资源在线观看 |