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


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

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

 

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

 

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

 

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

 

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

 

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

 

那為什么這個模式如此有價值?

 

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

 

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

 

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

 

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM