模式與Java

          Posted on 2007-04-12 13:31 fph 閱讀(384) 評論(3)  編輯  收藏
          最近在看閻博士的Java與模式,有一點說得很不錯,模式是根據用途來命名的,而模式的實現不外乎Java里面類、或者對象之間的關系。其實最一般化的就是關聯關系了。
          而關聯關系在UML中根據用意不同分為聚合、合成等。

          因此所有的模式或關系都是Java類或對象的關聯。

          btw:很懶的人,不怎么寫blog,今天突然想起來了,寫了一下,發現寫blog有助于加強對一些概念的理解,如聚合、合成的區別,copy如下:

          一般關聯:只要一個對象聯系到另外一個對象就形成了關聯關系。如:人和他的貓,黑豹樂隊和竇魏,pc機和顯示器。

          聚合關系:一種強關聯關系,它要求有部分和整體的關系,并且沒有了整體部分也可以獨立存在。在上面三個例子中人和它的貓顯然沒有部分和整體的關系,所以只能是一般的關聯關系。而黑豹樂隊和竇魏,竇魏等人組成了黑豹樂隊即:竇魏和黑豹是整體和部分的關系。而竇魏脫離了黑豹(早就離開了)更或者黑豹不存在了那么竇魏仍然可以以音樂人的身份存在(即對象仍然可以獨立存在)所以它屬于聚合關系。組成關系是可以共享的。(竇魏也可以加入其他樂隊)。

          組合關系:一種更強的整體和部分的關系。它并且要求代表整體的對象負責代表部分的對象的生命周期,組成關系是不能共享的。如:pc機和顯示器的關系。

          Feedback

          # re: 模式與Java  回復  更多評論   

          2007-04-13 11:11 by CoderDream
          理解不錯,支持一下!

          # re: 模式與Java  回復  更多評論   

          2007-11-13 14:36 by reap
          難道PC機壞了,顯示器就不能用了嗎?
          或者顯示器還可以接其他主機用,也是共享的。
          所以組合關系的例子不好

          # re: 模式與Java[未登錄]  回復  更多評論   

          2007-11-14 08:53 by fph
          有道理,人和胳膊的例子如何?

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 延寿县| 嵩明县| 贺兰县| 兴义市| 进贤县| 屏边| 丰城市| 夏津县| 上蔡县| 高淳县| 漳浦县| 乌兰察布市| 天台县| 平利县| 宣恩县| 高雄县| 郧西县| 谢通门县| 舞阳县| 宝坻区| 兴义市| 兴安盟| 济源市| 威信县| 买车| 隆化县| 屏南县| 大渡口区| 昭苏县| 博湖县| 平谷区| 台东县| 阿克| 炉霍县| 吉首市| 桐乡市| 阿拉善左旗| 平邑县| 河东区| 乐至县| 庆安县|