日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java 設計模式之Observer

瀏覽:206日期:2024-06-27 14:25:26
內容: Java深入到一定程度,就不可避免的碰到設計模式(design pattern)這一概念,了解設計模式,將使自己對java中的接口或抽象類應用有更深的理解.設計模式在java的中型系統中應用廣泛,遵循一定的編程模式,才能使自己的代碼便于理解,易于交流,Observer(觀察者)模式是比較常用的一個模式,尤其在界面設計中應用廣泛,而本站所關注的是Java在電子商務系統中應用,因此想從電子商務實例中分析Observer的應用.雖然網上商店形式多樣,每個站點有自己的特色,但也有其一般的共性,單就'商品的變化,以便及時通知訂戶'這一點,是很多網上商店共有的模式,這一模式類似Observer patern.具體的說,如果網上商店中商品在名稱 價格等方面有變化,如果系統能自動通知會員,將是網上商店區別傳統商店的一大特色.這就需要在商品product中加入Observer這樣角色,以便product細節發生變化時,Observer能自動觀察到這種變化,并能進行及時的update或notify動作. IMG http://www.jdon.com/designpatterns/images/observer1.jpg[/IMG]Java的API還為為我們提供現成的Observer接口Java.util.Observer.我們只要直接使用它就可以.我們必須extends Java.util.Observer才能真正使用它:1.提供Add/Delete observer的方法;2.提供通知(notisfy) 所有observer的方法;//產品類 可供Jsp直接使用UseBean調用 該類主要執行產品數據庫插入 更新public class product extends Observable{ private String name;private float price;public String getName(){ return name;}public void setName(){ this.name=name;//設置變化點 setChanged(); notifyObservers(name);} public float getPrice(){ return price;}public void setPrice(){ this.price=price;//設置變化點 setChanged(); notifyObservers(new Float(price)); }//以下可以是數據庫更新 插入命令.public void saveToDb(){.....................} 我們注意到,在product類中 的setXXX方法中,我們設置了 notify(通知)方法, 當Jsp表單調用setXXX(如何調用見我的另外一篇文章),實際上就觸發了notisfyObservers方法,這將通知相應觀察者應該采取行動了.下面看看這些觀察者的代碼,他們究竟采取了什么行動://觀察者NameObserver主要用來對產品名稱(name)進行觀察的public class NameObserver implements Observer{private String name=null;public void update(Observable obj,Object arg){if (arg instanceof String){ name=(String)arg; //產品名稱改變值在name中 System.out.println('NameObserver :name changet to '+name);}}}//觀察者PriceObserver主要用來對產品價格(price)進行觀察的public class PriceObserver implements Observer{private float price=0;public void update(Observable obj,Object arg){if (arg instanceof Float){ price=((Float)arg).floatValue(); System.out.println('PriceObserver :price changet to '+price);}}} Jsp中我們可以來正式執行這段觀察者程序:<%if (request.getParameter('save')!=null){ product.saveToDb();out.println('產品數據變動 保存! 并已經自動通知客戶'); }else{//加入觀察者product.addObserver(nameobs);product.addObserver(priceobs);%>//request.getRequestURI()是產生本jsp的程序名,就是自己調用自己<form action='<%=request.getRequestURI()%>' method=post><input type=hidden name='save' value='1'>產品名稱:<input type=text name='name' >產品價格:<input type=text name='price'><input type=submit></form><%} %> 執行改Jsp程序,會出現一個表單錄入界面, 需要輸入產品名稱 產品價格, 點按Submit后,還是執行該jsp的if (request.getParameter('save')!=null)之間的代碼.由于這里使用了數據javabeans的自動賦值概念,實際程序自動執行了setName setPrice語句.你會在服務器控制臺中發現下面信息::NameObserver :name changet to ?????(Jsp表單中輸入的產品名稱)PriceObserver :price changet to ???(Jsp表單中輸入的產品價格);這說明觀察者已經在行動了.!!同時你會在執行jsp的瀏覽器端得到信息:產品數據變動 保存! 并已經自動通知客戶 上文由于使用jsp概念,隱含很多自動動作,現將調用觀察者的Java代碼寫如下: public class Test {public static void main(String args[]){Product product=new Product();NameObserver nameobs=new NameObserver();PriceObserver priceobs=new PriceObserver();//加入觀察者product.addObserver(nameobs);product.addObserver(priceobs);product.setName('橘子紅了');product.setPrice(9.22f); }} 你會在發現下面信息::NameObserver :name changet to 橘子紅了PriceObserver :price changet to 9.22這說明觀察者在行動了.!! Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本午夜精品久久久久| 超碰在线99| 日韩视频中文| 中文一区二区| 另类亚洲自拍| 四虎国产精品免费久久| 97se亚洲| 精品中文在线| 国产aa精品| 午夜日韩在线| 亚洲精品影视| а√天堂8资源在线| 国产亚洲精品v| 久久99久久人婷婷精品综合| 999久久久国产精品| 亚洲精品在线二区| 黄色在线网站噜噜噜| 一区二区精品| 国产美女高潮在线| 在线国产精品一区| 色综合五月天| 综合在线一区| 成人日韩在线| 亚洲韩日在线| 丁香六月综合| 蜜桃国内精品久久久久软件9| 模特精品在线| 国产欧美日韩视频在线 | 视频一区国产视频| 日韩av一区二| 日韩欧美一区二区三区在线视频 | 四虎精品一区二区免费| 免费一级欧美片在线观看网站 | 美国欧美日韩国产在线播放| 精品视频91| 亚洲美女91| 999精品色在线播放| 久久99伊人| 久久亚洲黄色| 99re国产精品| 国产精品入口久久| 欧美91精品| 国产精品三p一区二区| 久久一区二区三区喷水| 亚洲精选久久| 蜜桃久久精品一区二区| 日韩va欧美va亚洲va久久| 不卡av一区二区| 成人午夜毛片| 欧美日一区二区在线观看| 自由日本语亚洲人高潮| 国产精品麻豆久久| 久久av资源| 日本午夜精品久久久久| 亚洲欧美日本日韩| 久久久久国产| 热三久草你在线| 久久影院一区二区三区| 日韩欧美激情| 午夜国产精品视频免费体验区| 国产不卡av一区二区| 国产欧美一区二区三区米奇| 国产成人精品一区二区三区在线| 麻豆精品网站| 亚洲风情在线资源| 久久国产精品免费精品3p | 欧美片网站免费| 日韩一区二区久久| 激情中国色综合| 日韩中文字幕| 亚洲成人一区| 国产成人精选| 亚洲影视一区二区三区| 99久久婷婷| 麻豆中文一区二区| 少妇精品久久久一区二区| 国产99久久| 欧美精品日日操| 亚洲深夜视频| 欧美香蕉视频| 日韩影院二区| 亚洲www免费| 亚洲自拍另类| 精品五月天堂| 国产精品一区二区三区av| 蜜桃视频第一区免费观看| 激情视频一区二区三区| 欧美国产日本| 久久精品99国产精品日本| 老司机精品久久| 国产99亚洲| 在线天堂中文资源最新版| 国产精品免费不| 麻豆精品在线视频| 国产精品2区| 精品欧美日韩精品| 成年男女免费视频网站不卡| 福利欧美精品在线| a日韩av网址| 91精品韩国| jiujiure精品视频播放| 国产午夜久久| 视频在线在亚洲| 日韩国产在线一| 欧美韩一区二区| 日韩不卡一区| 99精品综合| 蜜桃视频一区二区三区在线观看| 日韩精品免费一区二区夜夜嗨| 国产精品一区二区三区四区在线观看| 国产模特精品视频久久久久| 欧美日韩在线网站| 欧美日韩一二三四| 91精品久久久久久久久久不卡| 岛国av在线播放| 中文字幕在线官网| 蜜桃av.网站在线观看| 日韩综合一区| 日韩电影免费网站| 欧美日韩中文字幕一区二区三区| 欧美日韩中文一区二区| 国产一区亚洲| 午夜国产精品视频| 欧美特黄一区| 视频在线观看91| 亚洲影院天堂中文av色| 日韩一区二区三区四区五区| 日韩欧美三区| 国产精品一区二区三区美女 | 国产欧美啪啪| 国产精品theporn| 精品福利久久久| 欧美男人天堂| 欧美日韩亚洲在线观看| 午夜精品免费| 综合激情视频| 欧美视频久久| 精品三区视频| 91精品蜜臀一区二区三区在线| 国产综合亚洲精品一区二| 先锋影音国产一区| 日本欧美一区二区在线观看| 国产高清视频一区二区| sm捆绑调教国产免费网站在线观看 | 亚洲婷婷丁香| 青青草视频一区| 精品久久视频| 久久国产直播| | 你懂的国产精品永久在线| 国产精品yjizz视频网| 极品日韩av| 一区二区三区四区日韩| 久久精品凹凸全集| 国产一区二区色噜噜| 91精品国产福利在线观看麻豆| 老司机精品久久| 欧美国产极品| 不卡视频在线| 69堂免费精品视频在线播放| 国产一区二区三区91| 日韩午夜高潮| 国产精品99久久免费| 欧美 日韩 国产精品免费观看| 亚洲+小说+欧美+激情+另类| 精品九九在线| 在线亚洲免费| 美女在线视频一区| 91久久久精品国产| 日韩一区二区三区精品| 精品国产午夜| 伊人久久亚洲| 新版的欧美在线视频| 亚洲午夜国产成人| 四虎成人av| 中文字幕成人| 日韩精品诱惑一区?区三区| 亚洲精品国模| 亚洲风情在线资源| 日本亚洲欧洲无免费码在线| 色网在线免费观看| 97久久亚洲| 免费毛片在线不卡| 国产精品www994| 黄色国产精品| 久久精品资源| 中文字幕日韩亚洲| 五月激情久久| 国产精品一区二区三区av麻| 午夜影院欧美| 久久av影院| 中文无码久久精品| 亚洲不卡系列| 国产精品久久免费视频| 性色一区二区| 日韩欧美视频专区| 国产精品亚洲四区在线观看| 9色精品在线| 欧美freesex黑人又粗又大| 日韩av资源网|