設計模式奏鳴曲(一):開篇

設計模式奏鳴曲(一):開篇

來自專欄業餘程序員的個人修養13 人贊了文章

奏鳴曲是一種專為某種樂器而寫的音樂,

除了鋼琴奏鳴曲以外,大多數的奏鳴曲都有鋼琴伴奏。

在這裡,我們將設計模式比喻成了這一單獨樂器,

而將與設計模式息息相關的背景內容,喻指鋼琴伴奏。

設計模式並不是一個獨立的概念,它必須被放置到合適的背景中。


適當的設計模式,也必須仔細斟酌人為因素

這是為什麼呢?

維基百科中這樣寫道,

設計模式,描述了在各種不同情況下,解決問題的一種方案。

什麼才是真正的問題,它是如何產生的,

有哪些解決方案,我們如何達成共識

針對方案,我們用什麼語言進行描述,知識是如何傳遞的。

在諸多因素中,

利益相關者是我們不得不考慮的重要方面,

因此,不考慮清人員的組織結構,設計模式就將不接地氣。


另一方面,軟體系統所解決的問題域也越來越複雜了,

但軟體系統本身的複雜度,卻不是複雜度的核心所在,

真正的複雜來源於業務領域,以及如何表示、理解、溝通那些隨之而來的抽象概念

很多應用程序最主要的複雜性,並不在技術上,而是來自領域本身、用戶的活動或業務。

當這種領域複雜性在設計中沒有得到解決時,基礎技術的構思再好也是無濟於事。

—— 《領域驅動設計》

沒有一個清晰的業務架構,則軟體架構也不可能清晰。


大部分設計模式相關的文章都有所側重,甚至只是側重模式的描述方式

我想說這可能是不太恰當的。

因為好的描述,不應當是樂譜本身,而應當是奏鳴曲

聽眾通過音樂這一媒介進入作者塑造的精神世界。

下面我們就準備由外及內,由表及裡,

探索這一神奇的模式世界吧。


參考

設計模式

軟體系統架構


推薦閱讀:

IO完成埠(IOCP)
設計模式解析—工廠模式
再和「面向對象」談戀愛 - 對象簡介(一)
結構型模式之橋接模式

TAG:設計模式 | 軟體設計 | 軟體架構 |