OOPAA

          Focusing on OO, Patterns, Architecture, and Agile
          posts - 29, comments - 75, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

               摘要: 戊子年終于走到了歲末,轉(zhuǎn)眼即將迎來(lái)己丑年。因?yàn)榻裢砭蛯⑻ど蠚w途,本博提前給blogjava以及廣大讀者拜個(gè)早年了:各位新年好,恭喜發(fā)財(cái)!新的一年就要到了,牛年希望大家都能牛氣一些,不管在生活上,還是工作學(xué)習(xí)上。每個(gè)人都是不斷學(xué)習(xí)和進(jìn)步的。截止目前,本博也是在醞釀著一些的文章,就此曬曬新年的寫(xiě)作計(jì)劃吧!  閱讀全文

          posted @ 2009-01-23 10:40 mingj 閱讀(2206) | 評(píng)論 (2)編輯 收藏

               摘要: 最近結(jié)束了一個(gè)企業(yè)OA系統(tǒng)的項(xiàng)目,客戶是一家海洋航運(yùn)行業(yè)的企業(yè),散運(yùn)業(yè)務(wù)全球第一。該系統(tǒng)以工作流系統(tǒng)為基礎(chǔ)平臺(tái),對(duì)員工工作進(jìn)行電子化和規(guī)范化,由系統(tǒng)來(lái)驅(qū)動(dòng)員工自動(dòng)、快捷、可管地完成日常工作。在開(kāi)發(fā)過(guò)程中,在綜合評(píng)比多種工作流產(chǎn)品之后,我們選擇了開(kāi)源工作流產(chǎn)品——OSworkflow作為底層工作流引擎支撐,通過(guò)擴(kuò)展OSworkflow的接口把業(yè)務(wù)系統(tǒng)和工作流引擎完美無(wú)縫地集成在一起。本文就是跟大家一起分享osworkflow擴(kuò)展過(guò)程中的經(jīng)驗(yàn)心得,希望能對(duì)其他朋友有幫助。  閱讀全文

          posted @ 2009-01-16 17:15 mingj 閱讀(5509) | 評(píng)論 (11)編輯 收藏

               摘要: play! framework 是一個(gè)面向小型網(wǎng)站開(kāi)發(fā)的 rails-like 的 Java 框架,不僅在目錄結(jié)構(gòu)上,在系統(tǒng)的 skeleton 生成上,也把 rails 學(xué)了個(gè)七七八八。最近和同事也在做一個(gè) rails style 的 Java Web 應(yīng)用開(kāi)發(fā)框架,參考了 rails 的很多 feature,但更多的是按照自己的開(kāi)發(fā)理念和哲學(xué)思想“拿來(lái)” rails 里面有借鑒意義的思想。面對(duì)號(hào)稱(chēng) rails-like 的 play! framework,這幾天身在海灘上,于是花了一些時(shí)間好好研究了 play! 的源代碼一番。“看上去很美”,是讀完代碼后腦海中第一下涌現(xiàn)出來(lái)的想法,我承認(rèn)我是OOafarian。  閱讀全文

          posted @ 2008-12-31 22:08 mingj 閱讀(5350) | 評(píng)論 (14)編輯 收藏

               摘要: 前一段時(shí)間讀了Matt Stephens 與 Doug Rosenberg 合著的《Extreme Programming Refactored: The Case Against XP》(以下簡(jiǎn)稱(chēng)《Refactored》)。該書(shū)雖然是針對(duì) Kent Beck 的《Extreme Programming Explained: Embracing Changes》(以下簡(jiǎn)稱(chēng)《Explained》)第一版進(jìn)行闡發(fā),然后 Kent Beck 在《Explained》第二版里面也修正了一些 XP 的理念和態(tài)度,但是《Refactored》書(shū)中提到的一些見(jiàn)解和看法現(xiàn)在讀來(lái)還是挺有意思的。特別有意思的是作者在書(shū)中把 XP 和馬克思主義來(lái)做對(duì)比,得出一些共同點(diǎn),也頗讓人若有所思。本文結(jié)合我公司敏捷培訓(xùn)中學(xué)員問(wèn)得比較多的問(wèn)題做了一番比較粗略的解釋?zhuān)M麑?duì)使用敏捷方法學(xué)還有疑問(wèn)的組織或個(gè)人能有一定的幫助和借鑒意義。  閱讀全文

          posted @ 2008-12-31 00:52 mingj 閱讀(3545) | 評(píng)論 (1)編輯 收藏

               摘要: play! framework 是最近出的一個(gè)號(hào)稱(chēng) rails-like 的 java web 開(kāi)發(fā)框架,blogjava有些博友也發(fā)表了一些blog來(lái)宣傳。這兩天“在海灘上”,就花了一些時(shí)間讀了一下play! 的源代碼,有些心得體會(huì)。特別是對(duì)play! 宣稱(chēng)的“Edit your Java files, save, refresh your browser and see the results! No need to compile, deploy or restart the server”功能非常感興趣,于是著重看了 play! 在 hot swap 這一塊的實(shí)現(xiàn)代碼。結(jié)果,真相揭曉了,不存在魔術(shù)。  閱讀全文

          posted @ 2008-12-30 17:06 mingj 閱讀(4503) | 評(píng)論 (12)編輯 收藏

               摘要: 目前有很多軟件組織陷入在軟件開(kāi)發(fā)的焦泥坑中,面臨著種種不同而又復(fù)雜的情況。分析其根源,重量的、不能及時(shí)反饋改進(jìn)的軟件方法是原因之一。而在現(xiàn)實(shí)中,項(xiàng)目管理層往往通過(guò)增加人力等手段,卻又陷入 Brooks' Law 的迷霧之中。企圖一勞永逸,通過(guò)大規(guī)模過(guò)程改進(jìn)來(lái)提升交付能力,更是被 Fred Brooks 斥為“there is no silver bullet”。這種情況下,敏捷方法的出現(xiàn)自有它的優(yōu)點(diǎn),不僅就軟件開(kāi)發(fā)的本質(zhì)復(fù)雜性,而且也就軟件開(kāi)發(fā)的附加復(fù)雜性進(jìn)行了有益的探索。這些探索被證明是有效而且長(zhǎng)期的,只是落實(shí)到具體人、具體實(shí)踐上面,又是被歪嘴和尚念了真經(jīng)。  閱讀全文

          posted @ 2008-12-18 13:58 mingj 閱讀(3647) | 評(píng)論 (6)編輯 收藏

               摘要: 說(shuō)起 DIP ,大家第一反應(yīng)肯定是 spring framework,想起“Dependency Injection”(依賴注入)。對(duì) DIP 而言,真是幸也 spring,不幸也 spring。作為 OO 設(shè)計(jì)開(kāi)發(fā)的重要原則之一,DIP 遠(yuǎn)遠(yuǎn)不只是依賴注入模式,重讀 Robert Fowler 的《Agile Software Developement:principles,Patterns,and Practices》,就會(huì)發(fā)現(xiàn)前面的理解只見(jiàn)其表,不見(jiàn)其里——只抓住 DIP 實(shí)踐的表面形式,而對(duì)其背后 OOA & OOD 的深刻涵義視而不見(jiàn)——真是入寶山而空返。本文就將試著分析 DIP 的內(nèi)外兩層涵義,并根據(jù)實(shí)際的例子分析,給讀者增進(jìn)對(duì)面向?qū)ο笏枷氲睦斫狻?nbsp; 閱讀全文

          posted @ 2008-11-02 17:37 mingj 閱讀(1850) | 評(píng)論 (2)編輯 收藏

               摘要: WEB 應(yīng)用通常會(huì)引入 Session,用來(lái)在服務(wù)端和客戶端之間保存一系列動(dòng)作/消息的狀態(tài),比如網(wǎng)上購(gòu)物維護(hù) user 登錄信息直到 user 退出。在 user 登錄后,Session 周期里有很多 action 都需要從 Session 中得到 user,再驗(yàn)證身份權(quán)限,或者進(jìn)行其他的操作:這其中就會(huì)涉及到程序去訪問(wèn) Session屬性的問(wèn)題。傳統(tǒng) Servlet 程序因?yàn)槭褂?Servlet API,從而對(duì) Servlet API產(chǎn)生依賴,不利于 controller 的測(cè)試和邏輯復(fù)用。本文介紹了四種 Spring2.5 中訪問(wèn) Session 屬性的策略,并從 POJO 化、易于測(cè)試和復(fù)用、利于屬性訪問(wèn)等方面一一分析了每種策略的優(yōu)點(diǎn)和不足,提供給讀者進(jìn)行評(píng)價(jià)和選擇。  閱讀全文

          posted @ 2008-10-12 16:57 mingj 閱讀(4347) | 評(píng)論 (4)編輯 收藏

               摘要: 在開(kāi)發(fā)過(guò)程中,我們通常需要mock特定的對(duì)象來(lái)測(cè)試預(yù)期行為,或者使用stub對(duì)象來(lái)提高單元測(cè)試效率。最常見(jiàn)的例子就是在多層webapp中,在 controller類(lèi)的測(cè)試方法里mock或stub底層dao類(lèi)的方法,從而減輕單元測(cè)試時(shí)數(shù)據(jù)庫(kù)操作的開(kāi)銷(xiāo),加快單元測(cè)試速率。至于 Reflection,已不是java的新概念了,各樣框架基本上都有使用Reflection來(lái)增強(qiáng)Runtime的動(dòng)態(tài)性。而java5里 Reflection效率的提升和annotation的引入,更是極大地提高java語(yǔ)言的動(dòng)態(tài)性,讓開(kāi)發(fā)人員得到更多Runtime的靈活性。本文將演示如何使用spring2.5和Reflection簡(jiǎn)化測(cè)試中的mock。  閱讀全文

          posted @ 2008-09-22 09:58 mingj 閱讀(1987) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共2頁(yè): 上一頁(yè) 1 2 
          主站蜘蛛池模板: 阳东县| 集安市| 蒲江县| 嘉兴市| 阳东县| 景洪市| 都兰县| 秦安县| 毕节市| 资中县| 太和县| 宁武县| 墨脱县| 西华县| 佛学| 西宁市| 安溪县| 洛南县| 荆门市| 和林格尔县| 称多县| 扬中市| 陆川县| 沙雅县| 无极县| 汝阳县| 美姑县| 千阳县| 汉中市| 宣化县| 集安市| 龙井市| 芦溪县| 旌德县| 太和县| 通河县| 镇安县| 乐业县| 甘南县| 南投市| 叙永县|