設計模式是在運用構造定律
大家看這些模式圖片,是不是樹?
http://www.dofactory.com/net/design-patterns
所有的都是樹,下面都是構造定律。
那些設計模式就是在研究如何構建樹和如何在樹上運動的。事實上應該是建立型模式、行為型模式,沒有結構型模式。因為它的結構只有一個:樹。
如果看到了圖,肯定是因為少識別出了某個節點或者錯誤的識別出來了某個節點。新增上少識別的節點糾正識別錯誤的節點後就一切都是樹了。
比如這個抽象工廠模式是怎麼運用構造定律的,它的樹大概是這樣:
http://www.dofactory.com/net/design-patterns
所有的都是樹,下面都是構造定律。
那些設計模式就是在研究如何構建樹和如何在樹上運動的。事實上應該是建立型模式、行為型模式,沒有結構型模式。因為它的結構只有一個:樹。
如果看到了圖,肯定是因為少識別出了某個節點或者錯誤的識別出來了某個節點。新增上少識別的節點糾正識別錯誤的節點後就一切都是樹了。
比如這個抽象工廠模式是怎麼運用構造定律的,它的樹大概是這樣:
[img index=2]
其實樹就是對一個集合中的所有元素進行有偏移地單元劃分。樹形跟集合的那種沒有交叉關係的包含關係是同一件事情。
我們們用IDE寫出來的程式碼在試圖用名稱空間、程式碼段、縮排等手段去表現那棵樹,但是我們們寫出來的程式碼都在一個平面上不太容易想象到那棵樹的樣子,要是能立體起來就好了。它們是體,名稱空間那個體中包含了若干個類體,類體中又包含了若干個欄位體,欄位體中包含了若干個位。
那些程式碼是空間,那個棧是時間。
人們之所以找到了這種構建事物的模式是因為被構造定律驅動的。構造定律驅動著我們來到現在這個地方,因為這樣節省人類的智慧、節省對程式碼的管理成本、節能。那些不節省的模式慢慢的被構造定律拋棄掉了。
[該貼被anycmd於2014-12-23 13:10修改過]
相關文章
- 設計模式03----構造者模式設計模式
- .NET領域驅動設計—看DDD是如何運用設計模式顛覆傳統架構設計模式架構
- 設計模式在 TypeScript 中的應用 – 策略模式設計模式TypeScript
- 日曆(設計構造器與預設構造器)
- 3.Contructor(構造器)模式—精讀《JavaScript 設計模式》Addy Osmani著JavaScript設計模式
- 演算法、資料結構、與設計模式等在遊戲開發中的運用 (一):單例設計(Singleton Design)演算法資料結構設計模式遊戲開發單例
- 設計模式在vue中的應用(一)設計模式Vue
- 設計模式在vue中的應用(七)設計模式Vue
- 設計模式在vue中的應用(六)設計模式Vue
- 設計模式在vue中的應用(三)設計模式Vue
- 設計模式在vue中的應用(二)設計模式Vue
- 設計模式在vue中的應用(四)設計模式Vue
- 設計模式在vue中的應用(五)設計模式Vue
- 設計模式之--策略模式及其在JDK中的應用設計模式JDK
- 演算法、資料結構、與設計模式等在遊戲開發中的運用 (三):插值(Interpolation)演算法資料結構設計模式遊戲開發
- 演算法、資料結構、與設計模式等在遊戲開發中的運用 (四):佇列(Queue)演算法資料結構設計模式遊戲開發佇列
- 設計模式學習筆記(十三)組合模式及其在樹形結構中的應用設計模式筆記
- 設計模式 - 命令模式詳解及其在JdbcTemplate中的應用設計模式JDBC
- UG在鈑金設計與製造中的應用
- Angular應用架構設計-2:Data Service模式Angular應用架構模式
- 【Java】設計模式--結構型模式Java設計模式
- 架構設計思想-微服務架構設計模式架構微服務設計模式
- Random 函式在批次造資料中的運用random函式
- 結構型設計模式設計模式
- 聊一聊設計模式(三)-- 結構型設計模式設計模式
- 真香定律!我用這種模式重構了第三方登入模式
- 設計模式 - 迭代器模式詳解及其在ArrayList中的應用設計模式
- 什麼是設計模式設計模式
- Java 8 重構傳統設計模式,是真的優雅!Java設計模式
- 設計模式之代理模式(結構型)設計模式
- 設計模式(五)Builder構建者模式設計模式UI
- FMEA在架構設計中的應用分析架構
- 在離散混合製造環境中應用製造運營模型模型
- 設計模式(十五)----結構型模式之外觀模式設計模式
- 什麼是希克定律以及對產品設計的影響?
- DDD設計模式結構圖設計模式
- (Java)設計模式:結構型Java設計模式
- 設計模式及其在spring中的應用(含程式碼)設計模式Spring
- Unity應用架構設計(1)—— MVVM 模式的設計和實施(Part 2)Unity應用架構MVVM模式