模式與Java

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

          因此所有的模式或關(guān)系都是Java類或?qū)ο蟮年P(guān)聯(lián)。

          btw:很懶的人,不怎么寫blog,今天突然想起來了,寫了一下,發(fā)現(xiàn)寫blog有助于加強(qiáng)對(duì)一些概念的理解,如聚合、合成的區(qū)別,copy如下:

          一般關(guān)聯(lián):只要一個(gè)對(duì)象聯(lián)系到另外一個(gè)對(duì)象就形成了關(guān)聯(lián)關(guān)系。如:人和他的貓,黑豹樂隊(duì)和竇魏,pc機(jī)和顯示器。

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

          組合關(guān)系:一種更強(qiáng)的整體和部分的關(guān)系。它并且要求代表整體的對(duì)象負(fù)責(zé)代表部分的對(duì)象的生命周期,組成關(guān)系是不能共享的。如:pc機(jī)和顯示器的關(guān)系。

          Feedback

          # re: 模式與Java  回復(fù)  更多評(píng)論   

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

          # re: 模式與Java  回復(fù)  更多評(píng)論   

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

          # re: 模式與Java[未登錄]  回復(fù)  更多評(píng)論   

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 柯坪县| 准格尔旗| 辽宁省| 衢州市| 共和县| 武陟县| 中西区| 马公市| 白河县| 丰都县| 湖北省| 东明县| 临西县| 壤塘县| 饶河县| 陵水| 泸溪县| 柘荣县| 同心县| 伊川县| 庆城县| 龙口市| 安塞县| 垣曲县| 林周县| 四子王旗| 安阳市| 南华县| 敦煌市| 左权县| 镶黄旗| 永济市| 饶河县| 伊金霍洛旗| 贡觉县| 尼木县| 华蓥市| 上犹县| 饶河县| 石泉县| 阿坝县|