春風(fēng)博客

          春天里,百花香...

          導(dǎo)航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統(tǒng)計(jì)

          公告

          MAIL: junglesong@gmail.com
          MSN: junglesong_5@hotmail.com

          Locations of visitors to this page

          常用鏈接

          留言簿(11)

          隨筆分類(lèi)(224)

          隨筆檔案(126)

          個(gè)人軟件下載

          我的其它博客

          我的鄰居們

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          Object Orient Programming

          Java面向?qū)ο缶幊?
          使用模板方法模式簡(jiǎn)化控制層類(lèi)(Action)的設(shè)計(jì)
               摘要: 在基于Model2的應(yīng)用中,控制層的類(lèi)總會(huì)包含對(duì)業(yè)務(wù)層諸類(lèi)的調(diào)用,業(yè)務(wù)層諸類(lèi)不可避免的要產(chǎn)生各種異常,如果統(tǒng)一到控制層進(jìn)行處理的話會(huì)導(dǎo)致代碼變得龐大臃腫還有不少重復(fù),這種的例子在Web應(yīng)用中的Servlet和Action諸類(lèi)中并不少見(jiàn)。

          如果我們使用模板方法模式(Template Method Pattern)將業(yè)務(wù)處理和異常處理分開(kāi),能有效簡(jiǎn)化控制層諸類(lèi)的代碼,借用這種模式,我們可以把固定的異常處理代碼放在基類(lèi)中,而讓子類(lèi)來(lái)實(shí)現(xiàn)具體的業(yè)務(wù),如果執(zhí)行業(yè)務(wù)過(guò)程中出現(xiàn)異常如數(shù)據(jù)庫(kù)無(wú)法連接,用戶(hù)找不到等異常后,直接將異常拋出讓基類(lèi)來(lái)處理,這樣做成功的把業(yè)務(wù)處理和異常處理分開(kāi)到了子類(lèi)和基類(lèi)兩種類(lèi)中,涉及具體業(yè)務(wù)處理的子類(lèi)代碼得到了很大的簡(jiǎn)化,更方便閱讀,修改和管理。

          有點(diǎn)疑惑的是,現(xiàn)在還不確定這樣做會(huì)有什么消極印象,如安全性或結(jié)構(gòu)方面的,大家要是覺(jué)得有問(wèn)題請(qǐng)不吝賜教。  閱讀全文

          posted @ 2008-09-01 11:51 sitinspring 閱讀(2215) | 評(píng)論 (8)  編輯

          應(yīng)用程序的層次淺談

          posted @ 2008-08-08 12:57 sitinspring 閱讀(1665) | 評(píng)論 (3)  編輯

          從模板方法模式到反射再到Spring的IoC

          posted @ 2008-08-08 12:55 sitinspring 閱讀(1046) | 評(píng)論 (0)  編輯

          面向?qū)ο缶幊讨谐R?jiàn)類(lèi)的功能和形態(tài)

          posted @ 2008-08-08 12:53 sitinspring 閱讀(373) | 評(píng)論 (0)  編輯

          三種權(quán)限設(shè)計(jì)方案的歸納和比較
               摘要: 權(quán)限設(shè)計(jì)是很多系統(tǒng)重要的組成部分,主要用于控制功能和流程,本文將幾種常見(jiàn)的權(quán)限設(shè)計(jì)方案(權(quán)限系統(tǒng)的名都是自己起的)的基本設(shè)計(jì)寫(xiě)出來(lái),其中不恰當(dāng)處還請(qǐng)大家指出,我們來(lái)討論一下.  閱讀全文

          posted @ 2008-04-10 10:20 sitinspring 閱讀(17715) | 評(píng)論 (15)  編輯

          將阿拉伯?dāng)?shù)字轉(zhuǎn)大寫(xiě)漢字程序的類(lèi)
               摘要: 轉(zhuǎn)化效果:

          阿拉伯?dāng)?shù)字等于:0 大寫(xiě)漢字等于:零整
          阿拉伯?dāng)?shù)字等于:3.14159 大寫(xiě)漢字等于:叁點(diǎn)壹肆壹伍玖
          阿拉伯?dāng)?shù)字等于:101.3 大寫(xiě)漢字等于:壹佰零壹點(diǎn)叁
          阿拉伯?dāng)?shù)字等于:10203040506070809 大寫(xiě)漢字等于:壹萬(wàn)兆零貳佰零叁兆零肆佰零伍億零陸佰零柒萬(wàn)零捌佰零玖整
          阿拉伯?dāng)?shù)字等于:7897645 大寫(xiě)漢字等于:柒佰捌拾玖萬(wàn)柒仟陸佰肆拾伍整
          阿拉伯?dāng)?shù)字等于:500000001000000 大寫(xiě)漢字等于:伍佰兆零壹佰萬(wàn)整
          阿拉伯?dāng)?shù)字等于:2435685 大寫(xiě)漢字等于:貳佰肆拾叁萬(wàn)伍仟陸佰捌拾伍整
          阿拉伯?dāng)?shù)字等于:5345438976 大寫(xiě)漢字等于:伍拾叁億肆仟伍佰肆拾叁萬(wàn)捌仟玖佰柒拾陸整
            閱讀全文

          posted @ 2008-03-25 21:15 sitinspring 閱讀(7782) | 評(píng)論 (6)  編輯

          設(shè)計(jì)構(gòu)建一個(gè)軟件程序的基本步驟探討
               摘要: 軟件的核心任務(wù)不外乎是收集和整理數(shù)據(jù),然后以用戶(hù)需要的形式表現(xiàn)給他們而已,此外還有數(shù)據(jù)的存儲(chǔ),數(shù)據(jù)的傳輸?shù)韧鈬蝿?wù)。
          數(shù)據(jù)的收集,整理,表現(xiàn),存儲(chǔ)和傳輸就是軟件的主要任務(wù),它們也是程序員的主要工作內(nèi)容,也是程序員編寫(xiě)代碼的最終目的。
          那么該如何編寫(xiě)代碼讓軟件完成它的主要任務(wù)呢?編寫(xiě)代碼的過(guò)程是否有規(guī)律可循?編寫(xiě)代碼需要注意那些方面的問(wèn)題?本人想就這些問(wèn)題羅列自己一些粗淺的看法,并大家進(jìn)行一些探討。  閱讀全文

          posted @ 2008-01-26 21:19 sitinspring 閱讀(3107) | 評(píng)論 (10)  編輯

          使用泛型類(lèi)簡(jiǎn)化服務(wù)層(Service)類(lèi)的設(shè)計(jì)
               摘要: 領(lǐng)域?qū)宇?lèi)可以理解為程序運(yùn)行時(shí)數(shù)據(jù)流的功能單位,而服務(wù)層類(lèi)是為領(lǐng)域?qū)宇?lèi)提供服務(wù)的,常見(jiàn)的服務(wù)有增刪改查等操作,在沒(méi)有泛型之前,我們只能采用一個(gè)服務(wù)類(lèi)為一個(gè)領(lǐng)域類(lèi)提供服務(wù)的方案,如果說(shuō)服務(wù)的性質(zhì)類(lèi)似,如都是增刪改查等,則代碼的功能重復(fù)性很高,維護(hù)起來(lái)也很麻煩.如果采用了泛型類(lèi),我們就可以把性質(zhì)相似的服務(wù)類(lèi)歸納成一個(gè),很大程度上能簡(jiǎn)化編碼.  閱讀全文

          posted @ 2007-12-28 16:47 sitinspring 閱讀(3649) | 評(píng)論 (2)  編輯

          一個(gè)解析文本中的信息并向?qū)ο筚x值過(guò)程的思考.
               摘要: 一個(gè)解析文本中的信息并向?qū)ο筚x值過(guò)程的思考,比較淺顯.  閱讀全文

          posted @ 2007-12-07 16:35 sitinspring 閱讀(496) | 評(píng)論 (0)  編輯

          私有的成員能被子類(lèi)繼承嗎?
               摘要: private的成員變量能被子類(lèi)繼承嗎?回答是父類(lèi)的所有成員變量包括私有成員變量都會(huì)被子類(lèi)繼承,private只是把可見(jiàn)性限制在改類(lèi)內(nèi)部的方法中而已,子類(lèi)仍然可以通過(guò)父類(lèi)的成員函數(shù)來(lái)訪問(wèn)不可見(jiàn)的從父類(lèi)繼承下來(lái)的私有成員.

          這個(gè)機(jī)制對(duì)于復(fù)雜的類(lèi)體系中保護(hù)父類(lèi)不被濫用很有好處.  閱讀全文

          posted @ 2007-12-04 20:42 sitinspring 閱讀(9956) | 評(píng)論 (7)  編輯

          使用XML作為持久存儲(chǔ)介質(zhì)的解決方案續(xù)

          posted @ 2007-11-15 10:22 sitinspring 閱讀(480) | 評(píng)論 (0)  編輯

          MVC1,MVC2簡(jiǎn)析

          posted @ 2007-11-05 20:15 sitinspring 閱讀(3920) | 評(píng)論 (1)  編輯

          讀寫(xiě)鎖的OO分析
               摘要: 我們有時(shí)會(huì)遇到對(duì)同一個(gè)內(nèi)存區(qū)域如數(shù)組或者鏈表進(jìn)行多線程讀寫(xiě)的情況,一般來(lái)說(shuō)有以下幾種處理方式:
          1.不加任何限制,多見(jiàn)于讀取寫(xiě)入都很快的情況,但有時(shí)也會(huì)出現(xiàn)問(wèn)題.
          2.對(duì)讀寫(xiě)函數(shù)都加以同步鎖,比如使用singleton模式,這下問(wèn)題是沒(méi)了,但效率也下去了,比如說(shuō)兩個(gè)讀取線程不是非要排隊(duì)進(jìn)入不可.
          3.讀寫(xiě)鎖,安全和效率都得到了解決,特別合適讀線程多于寫(xiě)線程的情況.也就是下面將要展現(xiàn)的模式.

          讀寫(xiě)鎖的本意是分別對(duì)讀寫(xiě)狀態(tài)進(jìn)行互斥區(qū)分,有互斥時(shí)才加鎖,否則放行.互斥的情況有:
          1.讀寫(xiě)互斥.
          2.寫(xiě)寫(xiě)互斥.
          不互斥的情況是:讀讀,這種情況不該加以限制.

          我們只要讓鎖對(duì)象知道當(dāng)前讀寫(xiě)狀態(tài)就可以了,再根據(jù)情況進(jìn)行鎖定和解鎖,然后再分情況進(jìn)行鎖定.請(qǐng)看代碼  閱讀全文

          posted @ 2007-10-21 11:42 sitinspring 閱讀(3282) | 評(píng)論 (2)  編輯

          工人自動(dòng)獲取任務(wù)的OO分析
               摘要: 這篇文章是"調(diào)度員,工人及任務(wù)的OO分析過(guò)程"的續(xù)篇.

          上次的情況是由調(diào)度員主動(dòng)分配任務(wù),但有些情況下需要工人自動(dòng)取得任務(wù)而不是由調(diào)度員分配,這時(shí)需要對(duì)線程進(jìn)行通知,使用的主要方法就是對(duì)象的wait(),notify(),notifyAll()三個(gè)函數(shù),它們都必須從同步方法(synchronized method)中調(diào)用.  閱讀全文

          posted @ 2007-10-20 09:53 sitinspring 閱讀(876) | 評(píng)論 (0)  編輯

          調(diào)度員,工人及任務(wù)的OO分析過(guò)程.
               摘要: 日常編碼中,我們常需要為各種業(yè)務(wù)進(jìn)行建模,為工廠中的任務(wù)調(diào)度建模就很有意思的,它的主要流程是基本是這樣:
          1.調(diào)度員將工件圖紙交付給工人,這是任務(wù)的下達(dá).
          2.工人工作,完成工件,這是任務(wù)的進(jìn)行過(guò)程.
          3.工件完成后,工人將圖紙和工件返還給調(diào)度員,或者到了確定的時(shí)間后由調(diào)度員去取.這是任務(wù)的完成.
          4.重復(fù)上述三個(gè)步驟.

          在這個(gè)流程中,還存在一些特征:
          1.工人可以有多項(xiàng)任務(wù),但他在一個(gè)時(shí)間只能做一個(gè)活,具體做那個(gè)由任務(wù)的優(yōu)先級(jí)確定.
          2.任務(wù)完成后要讓調(diào)度員知道,現(xiàn)實(shí)中是工人來(lái)找調(diào)度員或者調(diào)度員找工人來(lái)實(shí)現(xiàn)的.

          從上述情況分析,我們需要任務(wù),工人,調(diào)度員三個(gè)類(lèi)來(lái)完成建模,另外為了方便任務(wù)的存儲(chǔ)和管理,還需要一個(gè)任務(wù)串類(lèi)來(lái)輔助.
            閱讀全文

          posted @ 2007-10-05 12:52 sitinspring 閱讀(959) | 評(píng)論 (0)  編輯

          Full Object Orient Programming Archive

          sitinspring(http://www.aygfsteel.com)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處.
          主站蜘蛛池模板: 达拉特旗| 伊川县| 红河县| 武平县| 日喀则市| 临桂县| 方正县| 阳山县| 广丰县| 保靖县| 西吉县| 鹿泉市| 顺平县| 三门县| 海宁市| 灌云县| 广河县| 玉林市| 郧西县| 泗水县| 北宁市| 南皮县| 武清区| 凤山市| 韶山市| 东乡县| 成安县| 夏邑县| 天镇县| 郯城县| 九龙城区| 永新县| 平昌县| 三江| 大连市| 淳化县| 正镶白旗| 吕梁市| 绥芬河市| 涟源市| 资中县|