通俗的說(shuō):我們向報(bào)社訂閱報(bào)紙,這個(gè)就是觀察者模式的實(shí)例,我們是觀察者(Observer),報(bào)社就是主題(Subject)。觀察者模式定義了對(duì)象之間的一對(duì)多依賴,這樣一來(lái),當(dāng)一個(gè)對(duì)象改變狀態(tài)時(shí),它的所有依賴者都會(huì)收到通知并自動(dòng)更新。現(xiàn)在我們?cè)O(shè)計(jì)一個(gè)氣象監(jiān)測(cè)站系統(tǒng),此系統(tǒng)中的三個(gè)部分分別是氣象站(獲取實(shí)際氣象數(shù)據(jù))、布告板(顯示當(dāng)前的天氣狀況)、WeatherData(跟蹤來(lái)自氣象站的數(shù)據(jù),并更新布告板),布告板可以提供擴(kuò)展。系統(tǒng)設(shè)計(jì)類圖如下:/***主題*@
系統(tǒng) 2019-08-29 22:39:38 1989
自從03年正式使用.NET開發(fā)以來(lái),已經(jīng)走過(guò)了6個(gè)年頭,這期間我積累了幾套類庫(kù)和框架,ESBasic便是其中最基礎(chǔ)的一個(gè)類庫(kù)。ESBasic是EnterpriseServiceBasic的縮寫,雖然也簡(jiǎn)寫為ESB,但是它和EnterpriseServiceBus(企業(yè)服務(wù)總線)沒(méi)有任何關(guān)系。ESBasic是我能夠快速和高效開發(fā)應(yīng)用程序的利器之一,開這個(gè)專門的blog是想將它介紹給大家,希望能對(duì)大家有所啟發(fā)。ESBasic覆蓋的內(nèi)容包括:對(duì)象管理、插件、網(wǎng)絡(luò)
系統(tǒng) 2019-08-29 22:21:44 1989
假設(shè)我們有一個(gè)UserInfo的javabean,那么在JSP頁(yè)面使用此標(biāo)簽只需調(diào)用此標(biāo)簽即可<%UserInfouser=newUserInfo();user.setUserName("Xuwei");user.setAge(33);user.setEmail("test@test.test");pageContext.setAttribute("userinfo",user);%>
Thepurposeoftradingonanymarketistobuylowandsellhigh.TheforeigncurrencymarketFOREXisnoexception.Thegoodstradedonthismarketareratesofcurrenciesofdifferentcountries.Asanyothergoodsthecurrencieshavetheirprices.Tosettletransactionsbetw
系統(tǒng) 2019-08-29 22:07:05 1989
<轉(zhuǎn)>Zookeeper安裝和配置博客分類:zookeeperzookeeperjava分布式[轉(zhuǎn)載請(qǐng)注明作者和原文鏈接,如有謬誤,歡迎在評(píng)論中指正.]Zookeeper的安裝和配置十分簡(jiǎn)單,既可以配置成單機(jī)模式,也可以配置成集群模式.下面將分別進(jìn)行介紹.單機(jī)模式點(diǎn)擊這里下載zookeeper的安裝包之后,解壓到合適目錄.進(jìn)入zookeeper目錄下的conf子目錄,創(chuàng)建zoo.cfg:Bash代碼tickTime=2000dataDir=/Users/a
系統(tǒng) 2019-08-29 22:01:59 1989
谷歌和Facebook,一個(gè)是高科技產(chǎn)業(yè)的霸主,一個(gè)是互聯(lián)網(wǎng)時(shí)代的新貴。近兩年來(lái),跳槽到Facebook的谷歌員工越來(lái)越多,那么你知道這兩家互聯(lián)網(wǎng)巨頭的工作環(huán)境又有何不同呢?谷歌和Facebook,一個(gè)是高科技產(chǎn)業(yè)的霸主,一個(gè)是互聯(lián)網(wǎng)時(shí)代的新貴,在IT人士看來(lái),前者是世界上最具工作樂(lè)趣的企業(yè)之一,并且能提供極具競(jìng)爭(zhēng)力的待遇;而后者則是個(gè)初生的孩子,但擁有龐大的潛力。近兩年來(lái),跳槽到Facebook的谷歌員工越來(lái)越多,包括谷歌地圖之父拉爾斯拉斯穆森在內(nèi)的諸多
系統(tǒng) 2019-08-29 22:01:10 1989
目錄貼:跟我學(xué)Shiro目錄貼6.1Realm【2.5Realm】及【3.5Authorizer】部分都已經(jīng)詳細(xì)介紹過(guò)Realm了,接下來(lái)再來(lái)看一下一般真實(shí)環(huán)境下的Realm如何實(shí)現(xiàn)。1、定義實(shí)體及關(guān)系即用戶-角色之間是多對(duì)多關(guān)系,角色-權(quán)限之間是多對(duì)多關(guān)系;且用戶和權(quán)限之間通過(guò)角色建立關(guān)系;在系統(tǒng)中驗(yàn)證時(shí)通過(guò)權(quán)限驗(yàn)證,角色只是權(quán)限集合,即所謂的顯示角色;其實(shí)權(quán)限應(yīng)該對(duì)應(yīng)到資源(如菜單、URL、頁(yè)面按鈕、Java方法等)中,即應(yīng)該將權(quán)限字符串存儲(chǔ)到資源實(shí)體
系統(tǒng) 2019-08-29 22:00:46 1989
Flash發(fā)布*.exe格式的文件,都是同一個(gè)圖標(biāo),使用eXeScope可以打造自己喜歡的文件信息。圖標(biāo)、版本等。可以直接修改flash安裝目錄下的flashplayer.exe文件。1.要安裝eXeScope。(網(wǎng)上有漢化版下載)2.右擊flashplayer.exe,使用eXeScope打開。修改圖標(biāo)時(shí)需要事先準(zhǔn)備自己的ICO,展開“圖標(biāo)”—修改200。展開版本,根據(jù)自己需要修改。3.修改應(yīng)用程序的title。圖片右側(cè)顯示的2.AdobeFlashPl
系統(tǒng) 2019-08-29 22:00:07 1989
但假如被合并的代碼所在的類具有某種并列關(guān)系,甚至是同一個(gè)父類下的多個(gè)子類,或者同一接口的多個(gè)實(shí)現(xiàn)類,則我們可以采用繼承的方式解決代碼復(fù)用的問(wèn)題。具體做法是這樣的,第一步還是整理原有的代碼,通過(guò)比較,將需要重構(gòu)的多份原代碼中相同的與不同的代碼整理出來(lái)。在整理過(guò)程中,可以將不同的代碼,保留在各自的原程序中,而將相同的代碼抽取出來(lái)成為獨(dú)立的函數(shù)。這些函數(shù)就是我們后面需要抽象、合并、復(fù)用的代碼。下一步呢,就是運(yùn)用“抽取父類(ExtractSuperclass)”的
系統(tǒng) 2019-08-29 21:59:08 1989
終于到了該說(shuō)說(shuō)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的時(shí)候了。我們?cè)谶@場(chǎng)關(guān)于代碼質(zhì)量的討論中,從代碼可讀性開始,討論了代碼復(fù)用性、設(shè)計(jì)模式,然后探討了職責(zé)驅(qū)動(dòng)設(shè)計(jì)。代碼可讀性是對(duì)代碼質(zhì)量最基本的要求,可惜我們?nèi)杂凶龅貌粔虻模词鼓切╅_發(fā)程序很多年的老程序員)。代碼復(fù)用是提高代碼質(zhì)量的最初級(jí)階段,但是在一個(gè)多人開發(fā)的項(xiàng)目團(tuán)隊(duì)中,圍繞代碼復(fù)用值得討論的問(wèn)題依然非常多,它依然是一個(gè)非常復(fù)雜的問(wèn)題,甚至有時(shí)它不再僅僅是一個(gè)技術(shù)問(wèn)題,而是一個(gè)管理問(wèn)題。唉,提高代碼質(zhì)量的道理漫漫兮同志們要上下
系統(tǒng) 2019-08-29 21:58:55 1989