高坡砍柴要留樁,平地起房要留窗
《野合萬事興》;詞:左小祖咒,曲:左小祖咒,唱:左小祖咒、寶羅,2008
本章在假設讀者已經掌握類模組化基本知識的前提下,講述一些可以幫助模組化人員得到更高品質類模型的進階模組化技能。
9.1 彩色模組化
9.1.1 彩色模組化思想概述
1999年,Peter Coad、Eric Lefebvre和Jeff De Luca在"Java Modeling In Color With UML"一書中闡述了将顔色用于UML模組化的思想。在這本薄薄的、彩色印刷的書中,作者們認為各個領域之間存在一些領域中性(Domain-Neutral)的基本結構,是以使用四種顔色架構型(Archetype)來描述領域内的各種概念,并試圖總結顔色之間的互動規律,為領域模組化提供清晰的思路。
正如Peter Coad在書中所說,彩色模組化根據他之前歸納的模組化模式拓展得來。1992年,Peter Coad就在“Object-Oriented Patterns”一文中闡述了四個架構型,在後來出版的“Object Models: Strategies, Patterns, and Applications”書中也有應用,隻是沒有加上顔色。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cGcq5SO4ATN1QTYjNDN0MWY1gTYyYzXyEDN1cTM0EzLcZDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.jpg)
圖9-1 Peter Coad1992年闡述架構型的文章
彩色模組化的四種顔色架構型分别為事物(PartyPlaceThing)、描述(Description)、角色(Role)和時刻時段(MomentInterval),如圖9-2所示。
圖9-2 四種顔色架構型
如果觀察各個領域,常會觀察到這樣的場景:
(1)“時刻時段”發生了,“事物”們扮演不同的“角色”參與進來。
(2)“事物”變化的規律和“描述”有關。
例如,目前您在做的“閱讀”事件就是一個時刻時段,發生在某個時間,而“閱讀”需要“閱讀者”和“讀物”兩個角色參與,這兩個角色分别由“軟體開發人員”和“軟體開發書籍”這兩個“事物”扮演。“軟體開發人員”讀什麼樣的“軟體開發書籍”,很可能是由“軟體開發人員類型”和“軟體開發書籍類型”之間的關系決定的。如圖9-3所示。
圖9-3 四種架構型的故事