軟件開發中可以排第一的模式

很多人談設計模式,但就我觀察和軟件相關的模式中最牛的一個卻被忽略了或者說重視的不太夠。

這個模式不一定能用GoF的那類表述方式來描述,但卻幾乎可以在大多的成功產品中看到影子。

 

它可以表述成:軟件的架構要支持開放數據,並提供API讓別人可以編程定製或擴展你的程序。

 

有人可能一聽後說:這不就是插件麼?但把這個等同於插件是把它看小了,插件只是它的一個子集。

 

那麼那些足夠牛的產品中用過這個模式?


真不好一一列舉,立刻能想到的是PC時代的AutoCADExcel這種,我有時候甚至懷疑Becky!這郵件客戶端之所以能活得很好和大量的插件可能有很大的關係。往當下想就是微信這種。

 

當然如果非往這個上扯的話,那各大平臺乃至操作系統事實上是這一模式的最大用戶,Linux在很多地方能夠幹翻UnixVxWorks這樣的操作系統和它的外圍工具不斷成熟應該有很大關係,而之所以它的外圍工具能夠不斷成熟則與其開放精神有着本質關聯。

 

那爲什麼這個模式如此有價值?

 

說起來故事也簡單,假設說需求是不斷變化的而不同人的需求也不同,那麼就世界上就不存在能夠足夠滿足需求的產品。

 

那對於一個產品而言這部分無法滿足的需求究竟應該怎麼辦?


你要麼不理它任由別人抱怨,這類產品註定成不了成功的產品。要麼就得把開放精神體現在產品裏,讓別人來滿足五花八門的需求。所以說這個模式是很多優秀產品的一種必然選擇。瀏覽器這樣,微信也這樣---只要你的產品還需要面對比較複雜的需求環境,沒認識到並且沒有爲此做出應對的,基本上會處在糾結和痛苦中,併爲之付出代價。


近來眼見有些在做的東西被需求變化折磨的焦頭爛額,一下子就想到了常說的設計模式,也就進一步想到了上邊這事,泛泛的講這也是一種模式,雖然看着和常說的那種設計模式不一樣,但在應對需求的時候它應該挺關鍵的。


下面兩個二維碼是上傳圖片用的,和正文沒關係。

----------------------------------------------------------------------------------------------------------------------------------


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章