原创 Thinking Everyday

1,編程語言的發展趨勢 語法更傾向說明性,聲明性,而不是“實現性” 元數據無處不在,xml,template,java bytecode,.net il, 不久出現基於XML或類似XML的編程語言(那個 X# 莫非就是?) 抽象層次越

原创 The Object Primer

1,書名 被翻譯成“面向對象軟件開發教程”,若不是Scott Ambler名聲在外,就要錯過舊書攤上這本10幾塊的書了,雖然錯過也沒太大影響 2,UML vs. Programming Language 如果圖形和文本基於同一種對象模型

原创 古代的軟件開發 (一)

1,額外的中間層鞋子:人類發明鞋子的意義無論如何評價都不過分,鞋子屏蔽了各種地況的差異,腳掌不必再受不同環境帶來的痛苦,如針棘,石子等鞋墊:進一步抽象出來的中間層2,模式《三十六計》或許是較早的模式書籍了,記載了可複用的三十六個軍事方面的

原创 Java,誤解爲何如此之深

前幾天被電話面試,問Java的參數傳遞方式,我說只有一種方式,就是by value啊,對方糾正我說,基本類型傳值,對象類型傳引用;嗚呼,當時被噎了一下,幾秒鐘後回過神來,我明白他的意思,也明白我碰上新世紀的新新人類了,但我怕他不明白啊,就

原创 Thinking Everyday II

1, 是業務,不是技術,傻瓜是集成,不是編程是使用,不是創造是創造,不是祈求是合作,不是獨立是開放,不是保密是實踐,不是謠言是選擇,不是忠誠,更不是媒妁,傻瓜2, 所謂文化即是規則,模式,慣用法的積累:在一個狹小的空間內,積聚了大量高度內

原创 用手機從ATM取錢

 手機的以下兩個特性,使它潛在的可能成爲統一的支付和信用平臺:手機具有預付費餘額,因此它可以成爲一個“帳戶”短信具有“基本實時性”,可用於確認 1,用手機從自動售貨機買飲料場景:    a,自動售貨機標有各種商品的編號,價格,如康師傅綠茶

原创 函數式編程 vs. 對象式編程

<<我愛我家>>有一集和平摔成了腦震盪失憶,賈治國心慌手亂,英壯扮演的醫生卻好整以暇,說一切正常,都是正常現象;這就是對象式和函數式兩種編程世界觀的觀點對象式(賈治國):和平是對象,她有自己的狀態,剛纔還活蹦亂跳,現在昏迷不醒,醒後失憶,

原创 泛型編程 vs. 面向對象

面向對象:封裝(數據抽象)是基礎,繼承是手段,多態是目的;泛型編程:參數化類型(概念抽象)是基礎,模板是手段,通用是目的面向對象是運行時問題空間的多態,泛型編程是編譯時算法空間的多態OO以Type爲中心,GP以Concept爲中心,而Co

原创 設計原則與模式: 案例介紹--CppUnit

設計原則與模式: 案例介紹--CppUnit CppUnit 是一個單元測試框架, 我們看一看它的設計是如何遵循基礎的設計原則和模式的 單一職責原則 TestRunner 和 TestResult 的分離 class CPPU

原创 Thinking Everyday III

1, RAII讓我告別了delete,IoC讓我告別了new 2,電梯是基於IoC的,你注意到了嗎? 3,學術可以極端,工程一定是某種折衷 4,銀河戰艦像個公司,切爾斯基卻不像機器,也不是軍隊,它是人,它就是穆里尼奧 5, 我的設想,就這

原创 簡單至及的AOP和IOC

I. AOP的例子 1, Google Toolbar: 攔截彈出式窗口,爲ISBN加上到Amazon的鏈接 原始的html文檔對google toolbar對它做的手腳一無所知,toolbar得到原始文檔後開始根據特定的匹配條件往裏面

原创 敏捷的可能起源

HTML clipboard 做了半年的東西又被否定了, 這裏有兩個可以改進的地方, 一個是半年, 一個是否定; 那以後乾脆兩星期讓他們看一次, 頂多浪費兩星期的工作; 想不被否定, 乾脆拉他們一起來幹活, 現場讓他們說要啥, 立馬就做

原创 交互設計: 火車上的廁所

有人在動車組的廁所前等了很久, 直到乘務員路過說廁所是被鎖住了,其實裏面沒人. 可是設計上沒有任何區別! 都是門閂處顯示"有人"字樣! 其實廁所有兩種狀態, 使用中和停用中, 使用中才分有人和無人, 可似乎設計上只考慮了使用中的情況.

原创 xUnit 測試模式: 摘要

  xUnit測試模式--測試碼重構   “脆弱測試”問題15a15 c 15a c 151515 c 151515a15a15 4017 使用商業“記錄與回放”或“機器人用戶”工具的測試自動化

原创 Thinking Everyday IV

1, 實際上 C# 2.0 已經部分的支持 mixin 了, 只要一直把類聲明爲 partial.2, 共享網絡共享存儲, 網格共享 CPU 計算週期和內存, P2P網絡還共享帶寬, 還有什麼應該共享的?3, 必然如果你花 99% 的時間