中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

J2EE相關設計模式怎么運用

發布時間:2021-12-21 14:45:55 來源:億速云 閱讀:152 作者:iii 欄目:編程語言

這篇文章主要講解了“J2EE相關設計模式怎么運用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“J2EE相關設計模式怎么運用”吧!

   如何將這些模式具體用到Java Project中呢?剛開始確實很頭疼。一方面,我們要知道模式的適用場合、引入模式給系統帶來的好壞,等等都需要我們去考慮的。另一方面,模式本身的理解消化吸收。再者,還有你的老板逼著你完成任務-:)。等等。其實,冷靜分析一下,也不是沒有可能。我們在項目中,完成自己的工作是一方面,但另一方面要考慮好自己的職業生涯,要想把Java Coder、Java Developer、Java Architect、或者什么的……做好,這些都是基本功。

   學者,就是喜歡把1+1,這么簡單的問題用什么。。。。理論推導出來,作為技術工作者,比如我們,看的是結果,技術的實作性。而大家在學設計模式中的過程中,往往脫離實踐,看看設計模式的UML圖(說句實在話,大家的UML功底都不會太好吧,把它用于我們的UP估計也少。)、還有模式的什么意圖,別名,動機,適用性,結構,參與者,協作,效果,實現,代碼實例,。。。。。。。腦袋都暈掉了。大家是否給忘記了,這種GP,本來就很抽象,加上這么多條條框框,兩個字,“郁悶”。我們不妨從分析GP代碼入手效果很很不錯,我學習過程中就是這樣的。要不我們現在就看看一個例子。以行為型模式State為例。(模式的實現例子網絡上有很多。Java的實現也很多,比如,Together ControlCenter里面就內置了這種基于GP的編程模板,詳細內容大家用用就知道了。)

   大家知道,State的用意在于,允許一個對象在其內部狀態改變時改變它的行為。對象看起來似乎修改了他的類。我們先看GOF SOFTWARE DESIGN PATTERNS CATALOGUE的State模式源碼實現。
   首先看接口類,State.java

   public interface State {

   public void handle();

  }

  以定義接口以封裝與Conext(代碼稍候陳述!)的一個特定狀態相關的行為。

  然后看,接口的實現類。第一個,ConcreteState1.java

  public class ConcreteState1 implements State {

   public void handle() {
   System.out.println("ConcreteState1.handle() executing");
   }

  }

  第二個,ConcreteState2.java

  public class ConcreteState2 implements State {
   public void handle() {
   System.out.println("ConcreteState2.handle() executing");
   }
  }

  這兩個類實現了State接口。

  然后再看,Context.java是如何將上述三個.java文件聯系起來。

  public class Context {
   public static final int STATE_ONE = 0;
   public static final int STATE_TWO = 1;
   //大家注意,這句話很關鍵,該模式做手腳的地方!
   private State currentState = new ConcreteState1();

   public void request() {
   currentState.handle();
   }

   public void changeState(int state) {
   switch (state) {
   case STATE_ONE:
   currentState = new ConcreteState1();//關鍵點
   break;
   case STATE_TWO:
   currentState = new ConcreteState2();//關鍵點
   break;
   }
   }
  }

  這樣,寫好4個.java文件后,其實您已經實現了State設計模式,很有趣,對吧?就是這樣簡單。
  再看看如何使用該設計模式了。寫一個Client.java看看。

  public class Client {

   public static void main(String[] args) {
   // 構造Context
   Context ctx = new Context();
   // 喚起Context.request()
   ctx.request();
   // 改變ctx的狀態?為什么改變了呢?大家想想看。
   ctx.changeState(Context.STATE_TWO);
   // 再次喚起Context.request(),結果大不一樣。
   ctx.request();
   }
  }

感謝各位的閱讀,以上就是“J2EE相關設計模式怎么運用”的內容了,經過本文的學習后,相信大家對J2EE相關設計模式怎么運用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平定县| 汨罗市| 越西县| 新邵县| 平谷区| 甘谷县| 荃湾区| 平远县| 涟水县| 门源| 江山市| 广平县| 富川| 高安市| 广元市| 宁德市| 澄江县| 喀喇沁旗| 古蔺县| 新平| 密山市| 增城市| 阳东县| 新兴县| 黔江区| 海原县| 囊谦县| 库尔勒市| 岢岚县| 扬中市| 宜兴市| 辉南县| 伊金霍洛旗| 瓦房店市| 邯郸市| 科尔| 永川市| 浮梁县| 沽源县| 洛隆县| 北安市|