原创 Platform Independency Without WebService, For .Net and J2EE

1,儘量使用C#和Java語法的交集2,新建一個包封裝類庫相關的常用的調用,如Platform.Collection,Platform.String等3,使用自定義接口隔離平臺相關的調用,如消息系統(MSMQ,JMS),遠程調用系統(.N

原创 Configuration Pattern : 配置模式

IoC? Dependency Injection? No, Configuration Pattern! IoC 這個過於tricky的名字理所當然的引起困惑, Martin同學取了個自以爲高明的"Dependency Injecti

原创 Architecture is layered

那天被問道軟件架構師需要了解編程語言的細節嗎? 呵呵,架構是分層的 小區設計師需要了解蓋樓的細節嗎?城市規劃師需要了解小區內樓房和停車場之間的關係嗎? 每層都有各自的架構,或許首先應該明確的是“軟件架構師”這個太概括的概念吧

原创 TDD: Tricky Driven Development

  命名 測試用例的名字應該描述需求, 不要描述實現. 取決於你要溝通交流傳遞的信息, Test Case 有至少兩個作用 檢查你的產品代碼是否按預期工作, 這由函數體來完成 表達你的預期,讓閱讀代碼的人知道你的產品能夠幹什麼,如何

原创 糟糕命名集錦

1,公交支線,如375和375支     現實一:無論命名上多麼相近,對乘客來說,還是互不相干的兩條獨立的路線     現實二:有時命名上毫不相干的兩條路線,反而比支線更爲接近,如726和826支幾乎一模一樣,826和826支反而相差較大

原创 訪問控制 : 語言和平臺

程序邏輯上的組織方式(如名稱空間,包等)可以和部署時的分發方式(如程序集,jar包等)不同,那麼不同class間的相互訪問權限應該在邏輯組織上限制還是物理分發上限制呢?Java語言本身採用了對邏輯組織方式進行限制,即你可以訪問java.l

原创 領域驅動的設計: 摘要

  第 1 部分 讓領域模型發揮作用 第1 章 汲取知識 第2 章 溝通和語言的使用: 通用語言, 大聲讀出模型, 一個團隊, 一種語言 第3 章 將模型和實現相綁定   第 2 部分 模型驅動設計的構造塊 第4 章 分離

原创 Feature Team vs. Component Team: 摘要

  http://www.infoq.com/articles/scaling-lean-agile-feature-teams   Feature Team long-lived—the team stays toge

原创 廣義對象論

前幾天本想接着以前的思維中對“3.2 Programming Paradigm”的討論,用對象的觀點重新審視一下各種編程範式,爲各種範式建模,從而將面向對象真正的看作是“元範式(Meta Paradigm)”,形成一種“廣義對象論” 但這

原创 synchronized : 規則, 推論與實踐

14.3. Synchronization.  Rule 1. synchronized:隻影響多線程,不影響本線程 (Locks are owned per thread, so invoking a synchronized meth

原创 軟件生物學

  長久以來,軟件的建築學隱喻已經深入人心,可始終無法達到建築學那樣的成熟程度,我不知道是什麼原因,可是有一點是應該注意的,就是一座建築在完成後基本不可以也不需要進行修改,來增加新的樓層,新的門廳等;即使沒有任何修改,建築也可以很長時間的

原创 Java:畫蛇添足的編碼規範

 前幾天公司培訓編碼規範:第n條:i++; j++; // prohibitshould be:i++;j++; // ok第m條:if( aBool = bBool ) // prohibitshould be:if( (aBool =

原创 內容與標準爲王:下一代互聯網與下一代搜索

第一代互聯網混淆了真正的數據和它的表現形式,第一代搜索無法區分關鍵詞是出現在文章標題裏還是正文裏,無法區分“十面埋伏”是一個典故還是一部電影,因爲第一代互聯網上只有HTML字節流,再也沒有其它的了Blog的出現是第二代互聯網的萌芽,它明確

原创 個性與定製爲王:下一代互聯網和下一代門戶

看一下現在我與互聯網有關的生活:我有兩三個常用的Web郵箱,我把它們配置在OutLook裏;我有幾個常去的網站,我把它們放置在IE收藏夾裏;我的好友分別在QQ和MSN裏;我訂閱的博客則在新聞閱讀器裏;每天早上,我要啓動所有的工具;或曰:快

原创 錯誤處理規範

錯誤處理規範 〇、概念澄清 概念 解釋錯誤 是指:導致系統不能按照用戶意圖工作的一切原因、事件 不是指:java.lang.Error及其子類 異常 是指:特定編程語言、開發平臺提供的一種錯誤表現機制 不是指但包括:java.la