欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

J2EE相關(guān)設(shè)計(jì)模式怎么運(yùn)用-創(chuàng)新互聯(lián)

這篇文章主要講解了“J2EE相關(guān)設(shè)計(jì)模式怎么運(yùn)用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“J2EE相關(guān)設(shè)計(jì)模式怎么運(yùn)用”吧!

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)呂梁免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

   如何將這些模式具體用到Java Project中呢?剛開(kāi)始確實(shí)很頭疼。一方面,我們要知道模式的適用場(chǎng)合、引入模式給系統(tǒng)帶來(lái)的好壞,等等都需要我們?nèi)タ紤]的。另一方面,模式本身的理解消化吸收。再者,還有你的老板逼著你完成任務(wù)-:)。等等。其實(shí),冷靜分析一下,也不是沒(méi)有可能。我們?cè)陧?xiàng)目中,完成自己的工作是一方面,但另一方面要考慮好自己的職業(yè)生涯,要想把Java Coder、Java Developer、Java Architect、或者什么的……做好,這些都是基本功。

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

   大家知道,State的用意在于,允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來(lái)似乎修改了他的類。我們先看GOF SOFTWARE DESIGN PATTERNS CATALOGUE的State模式源碼實(shí)現(xiàn)。
   首先看接口類,State.java

   public interface State {

   public void handle();

  }

  以定義接口以封裝與Conext(代碼稍候陳述!)的一個(gè)特定狀態(tài)相關(guān)的行為。

  然后看,接口的實(shí)現(xiàn)類。第一個(gè),ConcreteState1.java

  public class ConcreteState1 implements State {

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

  }

  第二個(gè),ConcreteState2.java

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

  這兩個(gè)類實(shí)現(xiàn)了State接口。

  然后再看,Context.java是如何將上述三個(gè).java文件聯(lián)系起來(lái)。

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

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

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

  這樣,寫(xiě)好4個(gè).java文件后,其實(shí)您已經(jīng)實(shí)現(xiàn)了State設(shè)計(jì)模式,很有趣,對(duì)吧?就是這樣簡(jiǎn)單。
  再看看如何使用該設(shè)計(jì)模式了。寫(xiě)一個(gè)Client.java看看。

  public class Client {

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

感謝各位的閱讀,以上就是“J2EE相關(guān)設(shè)計(jì)模式怎么運(yùn)用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)J2EE相關(guān)設(shè)計(jì)模式怎么運(yùn)用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)站名稱:J2EE相關(guān)設(shè)計(jì)模式怎么運(yùn)用-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://chinadenli.net/article20/eogco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站云服務(wù)器ChatGPT品牌網(wǎng)站制作網(wǎng)站策劃域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司