国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

J2EE設計模式之State模式

開發 后端
本文通過實例介紹了J2EE設計模式中的State模式。實例分別覆蓋了接口類,接口的實現類,即State接口的實現,以及該設計模式的使用方法。

設計模式,這個概念現在是滿天飛,大家手里面估計都有,Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, in the book "Design Patterns - Element of Re-Useable Object-Oriented Software",這本書。根據其中的說法,有三種,創建型模式、結構型模式和行為型模式。一共包括23個模式,在這里不一一列舉。實際應用中,我們不可能在短時間內消化吸收掉,因為模式本身就是約定俗成的東西,依靠大家以往的項目經驗總結出來的習慣用法。習慣要時間去培養,去形成,所以大家不要急著去用所有的模式,但一定要有這種意識,在項目中、學習中開始用上幾個看看,研究研究模式給你會帶來什么價值。但如果,你對Java JDK1.4 源碼用到的設計模式感興趣,可以到官方網站下載!

在進入正題之前,我申明該文章沒有任何商業目的,其中涉及到開源軟件的一些源代碼,所以涉及到知識產權問題時,如果有人將其用于商業目的,個人不負責該方面的責任。在這里只用于學習、交流的目的。謝謝合作。

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

學者,就是喜歡把1+1,這么簡單的問題用什么。。。。理論推導出來,作為技術工作者,比如我們,看的是結果,技術的實作性。而大家在學設計模式中的過程中,往往脫離實踐,看看設計模式的UML圖(說句實在話,大家的UML功底都不會太好吧,把它用于我們的UP估計也少。)、還有模式的什么意圖,別名,動機,適用性,結構,參與者,協作,效果,實現,代碼實例,。。。。。。。腦袋都暈掉了。大家是否給忘記了,這種GP,本來

就很抽象,加上這么多條條框框,兩個字,“郁悶”。我們不妨從分析GP代碼入手效果很很不錯,我學習過程中就是這樣的。要不我們現在就看看一個例子。以行為型模式State為例。(模式的實現例子網絡上有很多。Java的實現也很多,比如,Together ControlCenter里面就內置了這種基于GP的編程模板,詳細內容大家用用就知道了。)

大家知道,State的用意在于,允許一個對象在其內部狀態改變時改變它的行為。對象看起來似乎修改了他的類。我們先看http://www.javacoder.net/patterns.jsp 上提供的GOF SOFTWARE DESIGN PATTERNS CATALOGUE的State模式源碼實現。

首先看接口類,State.java

  1.   public interface State {  
  2.  
  3.   public void handle();  
  4.  
  5.   }  
  6.  

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

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

  1.   public class ConcreteState1 implements State {  
  2.  
  3.   public void handle() {  
  4.  
  5.   System.out.println("ConcreteState1.handle() executing");  
  6.  
  7.   }  
  8.  
  9.   }  

第二個,ConcreteState2.java

  1.   public class ConcreteState2 implements State {  
  2.  
  3.   public void handle() {  
  4.  
  5.   System.out.println("ConcreteState2.handle() executing");  
  6.  
  7.   }  
  8.  
  9.   }  

這兩個類實現了State接口。

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

  1.   public class Context {  
  2.  
  3.   public static final int STATE_ONE = 0;  
  4.  
  5.   public static final int STATE_TWO = 1;  

//大家注意,這句話很關鍵,該模式做手腳的地方!

  1.   private State currentState = new ConcreteState1();  
  2.  
  3.   public void request() {  
  4.  
  5.   currentState.handle();  
  6.  
  7.   }  
  8.  
  9.   public void changeState(int state) {  
  10.  
  11.   switch (state) {  
  12.  
  13.   case STATE_ONE:  
  14.  
  15.   currentState = new ConcreteState1();//關鍵點  
  16.  
  17.   break;  
  18.  
  19.   case STATE_TWO:  
  20.  
  21.   currentState = new ConcreteState2();//關鍵點  
  22.  
  23.   break;  
  24.  
  25.   }  
  26.  
  27.   }  
  28.  
  29.   }  

這樣,寫好4個.java文件后,其實您已經實現了State設計模式,很有趣,對吧?就是這樣簡單。

再看看如何使用該設計模式了。寫一個Client.java看看。

  1.   public class Client {  
  2.  
  3.   public static void main(String[] args) {  
  4.  
  5.   // 構造Context  
  6.  
  7.   Context ctx = new Context();  
  8.  
  9.   // 喚起Context.request()  
  10.  
  11.   ctx.request();  
  12.  
  13.   // 改變ctx的狀態?為什么改變了呢?大家想想看。  
  14.  
  15.   ctx.changeState(Context.STATE_TWO);  
  16.  
  17.   // 再次喚起Context.request(),結果大不一樣。  
  18.  
  19.   ctx.request();  
  20.  
  21.   }  
  22.  
  23.   }  

【編輯推薦】

  1. 簡析J2EE應用程序中數據庫類的設計模式
  2. J2EE設計模式之Template
  3. 如何優化JavaScript腳本的性能
  4. J2EE之DAO設計模式簡介與實例
  5. 簡析J2EE應用程序中數據庫類的設計模式
責任編輯:book05 來源: 百度博客
相關推薦

2009-06-11 17:19:47

J2EE設計模式Template

2009-06-11 17:11:07

J2EE設計模式工廠模式

2009-06-23 08:06:46

J2EE體系架構J2EE模型J2EE設計模式

2009-06-11 17:13:44

J2EE設計模式Dao設計模式

2009-06-11 17:24:46

J2EE的MVC體系結J2EE設計模式

2009-06-10 14:10:23

J2EE學習J2EE是什么

2009-06-23 16:42:50

用J2EE做網站

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2009-06-19 10:20:00

J2EE開發模式

2009-06-22 17:05:41

Java EEJava企業應用

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-22 17:34:40

J2EE架構

2009-06-23 08:12:48

J2EE調用存儲過程

2009-06-11 17:22:36

J2EE數據庫類

2009-09-23 17:11:18

數據持久層Hibernate

2009-06-22 16:21:02

J2EE線程

2009-06-18 16:13:14

J2EE開發

2009-06-19 17:03:44

J2EE學習
點贊
收藏

51CTO技術棧公眾號

综合另类专区| 亚洲少妇诱惑| 欧美在线视频日韩| va中文字幕| 国产无人区一区二区三区| 日韩精品一区二区三区电影| 91成人精品| 国产精品一二三在线| 欧美精品中文| 欧美激情一区二区三区高清视频| 国产精品一区二区av影院萌芽| 欧美久久久久中文字幕| 亚洲国产资源| 午夜不卡av在线| 成年人视频在线网站| 中文在线资源观看网站视频免费不卡| 国产人妻777人伦精品hd| 国产黄色精品视频| 高清无码一区二区在线观看吞精| 国产美女娇喘av呻吟久久| 午夜一区二区三区| 欧美中文日韩| 欧美高清一区二区| 免费日韩精品中文字幕视频在线| 精品国产乱码久久久久软件| 欧美区一区二| 国产一级精品aaaaa看| 亚洲国产一区二区三区a毛片| 成人精品水蜜桃| 激情欧美日韩| 色阁综合av| 国产在线一区观看| 国产美女主播在线播放| 91免费小视频| 国产真实伦在线观看| 欧美性xxxxx| h视频在线观看免费| 欧美日韩国产精选| 黄页网站在线观看免费| 亚洲国产精品视频| 芒果视频成人app| 亚洲国产精品一区二区久| www成人免费观看网站| www.日本不卡| 老司机av福利| 欧美色网一区| 美女福利精品视频| 成人在线免费观看黄色| 欧美日韩一区二区在线| 久久亚洲二区三区| 五月婷婷导航| 黑人精品xxx一区| 羞羞视频在线观看免费| 亚洲视频日韩精品| 希岛爱理av免费一区二区| 成人激情av在线| 日本人妖一区二区| 日日碰狠狠躁久久躁婷婷| 午夜伊人狠狠久久| 成入视频在线观看| 欧美国产视频一区二区| 女主播福利一区| 久热国产精品视频一区二区三区| 国产精品羞羞答答xxdd| 二区三区中文字幕| 欧美军同video69gay| 日本国产亚洲| 91精品久久久久久久久久久久久| 欧美一级专区| 色播五月综合网| 91精品免费观看| 91欧美日韩在线| 久久国产精品精品国产色婷婷 | 无码中文字幕色专区| 伊人开心综合网| 亚洲国产福利| 成人性教育视频在线观看| 国产经典欧美精品| 国产精品视频一区二区久久| 欧美成人精品一区二区三区| 亚洲精品四区| 久久亚洲私人国产精品va| 久久精品在线免费观看| 女生裸体视频网站免费观看| 国产一区二区动漫| 欧美极品另类videosde| 国产精品xx| 亚洲国产综合91精品麻豆| 国产精品va在线观看无码| 亚洲成人综合在线| 中文字幕高清在线播放| 91精品久久久久久久久久另类| 国产伦理精品不卡| 成人网视频在线观看| 91成品人片a无限观看| 台湾佬中文娱乐久久久| 污污视频网站免费观看| 1024精品久久久久久久久| 亚洲二区自拍| 欧美精品xxxxbbbb| 久久久久久久波多野高潮日日| 性一交一乱一伧国产女士spa| 一本在线高清不卡dvd| 国内精品视频| 在线不卡日本| 欧美猛男gaygay网站| 在线日韩一区| 男人透女人免费视频| 亚洲欧美国产精品专区久久| 亚洲国产激情| 中文字幕在线观看| 欧美在线视频在线播放完整版免费观看| 成人深夜福利app| 最新97超碰在线| 成人午夜在线视频一区| 日韩理论片中文av| 亚洲一区二区三区免费| a级黄色小视频| 亚洲国产97在线精品一区| 国产欧美日本| 成人p站proumb入口| 成人国产精品一区二区| 亚洲福利视频三区| 九九亚洲视频| 国产成免费视频| 奇米4444一区二区三区| 综合亚洲深深色噜噜狠狠网站| 警花av一区二区三区| 亚洲爆乳无码专区| 欧美超级免费视 在线| www.亚洲免费av| 另类一区二区| 久久久久免费精品| 久久久久久尹人网香蕉| 国产精品伦理在线| 婷婷精品在线| 一个人看的免费网站www视频| 欧美亚洲在线视频| 亚洲欧美激情一区二区| 欧美色图在线播放| 青青九九免费视频在线| 国产精华一区| 日韩一级片网址| 狠狠v欧美v日韩v亚洲ⅴ| aa国产成人| 亚洲国产精品成人天堂| 久久久精品视频在线观看| 国产精品美女一区二区三区| 中文字幕伦av一区二区邻居| 一级毛片在线观| dy888夜精品国产专区| 欧美一卡2卡3卡4卡| 美女视频黄频大全不卡视频在线播放| 色吧亚洲日本| 亚洲乱码中文字幕久久孕妇黑人| 欧美激情在线视频二区| 一区二区激情视频| 亚洲国产高清一区二区三区| av中文字幕电影在线看| 99热亚洲精品| 欧美中文字幕在线| 日本韩国一区二区三区视频| 美女爽到呻吟久久久久| 欧洲成人一区| 全部孕妇毛片丰满孕妇孕| 久久超碰亚洲| 日韩在线免费视频观看| 国产精品人成在线观看免费 | 久艹视频在线免费观看| 性欧美视频videos6一9| 色屁屁一区二区| 国产精欧美一区二区三区| 久久99九九| 91中文字幕在线观看| 欧美久久久久免费| 青青操综合网| 国产精品三区www17con| 男人女人黄一级| 久久av.com| 首页综合国产亚洲丝袜| 国产第一亚洲| 草草久视频在线观看电影资源| 91一区二区三区| 精品视频中文字幕| 亚洲线精品一区二区三区 | 欧洲视频在线免费观看| 亚洲一区二区三区涩| 91黑丝高跟在线| 日韩三级电影网址| 亚洲视频在线观看一区| 日韩电影在线看| 日本三级久久| 18+视频在线观看| 中文字幕视频在线免费观看| 久久亚洲综合网| 日本久久久久久久久| 亚洲色图综合网| 欧美日韩国产片| 亚洲免费观看高清在线观看| 国产精品中文有码|