原创 論面向組合子程序設計方法 之 南無阿彌陀佛

其實,前面我還忘了提一個非常重要的基本組合子:singleton。這裏補充提一下:class SingletonComponent implement

原创 奇技淫巧?

這裏講述的是一個非常讓人尷尬的故事我們有一個簡單的java類:[code]class Details { double getBalance();

原创 論面向組合子程序設計方法 之 微步轂紋生

最近。age0提出了一個OO設計的問題。因爲這個例子更加貼近生活,是我們老百姓所喜聞樂見的商場折扣問題,所以我準備改鉉更張用這個例子了。具體的例子請看

原创 關於 Replace Temp With Query

這個I disagree系列裏面我準備把所有在工作中技術上的爭執記錄下來。也有立此存照的意思。也許再過幾年,回頭一看,會自己bs自己一把呢。今天要記錄

原创 論面向組合子程序設計方法 之 重構

迄今,發現典型的幾種疑問是:1。組合子的設計要求正交,要求最基本,這是不是太難達到呢?2。面對一些現實中更復雜的需求,組合子怎樣scale up呢?其

原创 jdbc還是ibatis?

公司的一個大系統的持久層一直是直接使用jdbc。在jdbc的基礎上,又自制了一個簡陋的cache。每個持久功能的實現都比較類似,大致相當於這樣:[co

原创 JUnit Sucks

好象貌似有本書是用寫一個JUnit作爲例子來講解TDD的。要說TDD絕對是個好東西,不過TDD本身並不能保證搞出好軟件。這不,Junit就是個活生生的

原创 Web AOP?

今天這個其實不是爭論。這是我接手的一個web系統的一個設計。我覺得很不爽,但是一時又沒有好的解決方法。情況是這樣的。我們的web app是一個傳統的j

原创 這樣代碼重用?

這是一個工作中遇到的背景比較簡單的爭論。有這麼一個persistent object,姑且叫它Plan吧。有這麼兩個函數:[code]Plan get

原创 依賴是否可以作爲一個獨立的衡量軟件質量的標準?

這個爭論的背景有點複雜。我就儘量簡化了說。遺留系統有一個自制的service locator。是一個靜態函數:[code]public static

原创 複雜還是不復雜?

問題是這樣的。 一個MyService類裏面,有一個MyResponse runService()函數。這個runService函數會調用一個web

原创 我的酒窩

場景一:個人喜歡state-based的單元測試。(定義見mock is not stub)。可是有些時候,比如在測試一些使用java.sql.Con

原创 一致性和Use Right Tool For Right Job哪個重要?

這個爭執發生在測試的時候。背景是這樣的:一個接口有很多亂七八糟的業務相關的方法,其中有這麼四個方法:[code]interface TaxLawBuc

原创 DRY與簡單性的平衡

這個事例說起來相當簡單。不過小中見大,它大致體現了我和pair在DRY vs. 簡單性上的差別,和那個“這樣代碼重用”裏面的例子體現了同樣的分歧。目標

原创 什麼時候使用assumption?

問題背景,定義三個概念先:1。percent。就是百分比。2。weight。如果percent是10,weight就是0.1,weight=perce