######無生有、無勝有 PK 設計模式
無生有,無勝有!
如果一個事物從無發展到有,那麼它以後的發展將受到這個“有”的因子的影響。並且有時,如果這個“有”的因子,是非常致命、強勢、根基,那麼後續它所衍生的子孫,可能都必須沿着它在幾個世紀前規定好的歷史固定的路線走,地球圍繞太陽的橢圓軌道運行,才能“允許出生”,“名列宗祠“!
就如一個線程安全的模塊,後來基於它所發展出來的模塊,就必須且一定是,帶有線程安全的血緣基因!線程安全的子孫不能再變成非線程安全,退卻、縮變回去了。但是,如果這個模塊在初始設計的時間,就是非線程安全的!那麼,其在後面生命發展的進程中,就可以至少沿着兩條路進行行走、發展。一:保持革命本色,繼續非線程安全的特性,沿着二萬五千里長徵路進行行進。二:模塊整體上,進行一個很”薄“、簡單地包裝,成爲線程安全的模塊,從此獲得無生有的生命第二春!
從這裏,我們可以看到,模塊設計時,一個理想化的追求原則,就是保持一種“無”的狀態!!因爲無生有,無勝有,呵呵!
但是,理想是美好的,現實是殘酷的,“無”是一個非常理想化的目標,我不知道在現實中其可以不可以實現。但是,有一個弱化的目標,恐怕是我們能夠做到的,就是,在設計模塊的時間,我們可以儘可能地將“模塊所對外界的假設作到最少、最簡單”。因爲在假設最少、最簡單的情況下,從模塊設計的反方向來看,模塊的使用者只需要作很少的事情,就可以複用其這個模塊來,而不是需要模塊的使用者,準備了一大籮頭”東西“!這個視角可以算作是“假設最少”設計,從其反面來看時的一個鏡子。
如果,一個模塊是一個假設、約束衆多,我們只能說,這個模塊太難用了,然後這個模塊就隨之失去了價值,存在的意義。我記得,一個計算機界牛人曾經有這麼一個哲言:”軟件的價值,存在於它被長久地使用“,這也是每一個稱職的程序員所應該夢寐以求追求的目標。
在我看來,馮諾伊曼的“存儲執行”計算機計算模型,很好地提現了“假設最少”的設計原則,纔是馮諾伊曼機器結構在幾十年間都沒有怎麼變化過,確實值得追捧的模型的!
困了,睡覺了,呵呵,一時興起,就寫了以前自己的一點感悟!
無生有、無勝有 PK 設計模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
從字符串中截取掉指定的子字符串.
kingarden
2020-07-05 12:58:43
談OSIP2在QT下的編譯Compiling
快乐的阿常艾念宝
2020-07-03 20:01:01
VC編程中的連續運算--從國際化版本編譯優化展開
快乐的阿常艾念宝
2020-02-22 02:08:01
實現屬於自己的substr()
kingarden
2020-02-20 19:48:31
dll導出stl類
haohuang_hd
2020-02-20 15:08:52
多線程編程之一——問題提出
haohuang_hd
2020-02-20 15:08:51
多線程編程之四——線程的同步
haohuang_hd
2020-02-20 15:08:50
CvSaveImage()保存jpeg時壓縮圖像的方法
haohuang_hd
2020-02-20 15:08:50
zlib用法簡單說明
haohuang_hd
2020-02-20 15:08:50
ACE網絡通信庫的配置
haohuang_hd
2020-02-20 15:08:50
多線程編程之二——MFC中的多線程開發
haohuang_hd
2020-02-20 15:08:50
vc連mysql類
haohuang_hd
2020-02-20 15:08:50
C++各大有名庫的介紹——網絡通信
haohuang_hd
2020-02-20 15:08:49
c++ 連接mysql類
haohuang_hd
2020-02-20 15:08:49