• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 181  文章 - 15  trackbacks - 0
            <2008年12月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            My Tech blog

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            顧客和售貨員之間的關(guān)系說明了兩個問題。首先,在開發(fā)者看來,這是兩個真實的人之間所存在的一種關(guān)系。另一方面,它又表示了兩個程序?qū)ο笾g的一種指向關(guān)系,或者說代表一種數(shù)據(jù)庫數(shù)據(jù)檢索,也可能是其他的什么。

            當(dāng)然這種關(guān)系未必那么直接。一對多的聚合關(guān)系未必就是一個對象含有另外一個對象的集合。也許只是從數(shù)據(jù)庫去查詢數(shù)據(jù),然后實例化一些基于數(shù)據(jù)的東西。當(dāng)然需要從中選擇一種機制才行。

            在現(xiàn)實生活中,存在著很多的多對多關(guān)系,其中又有很多是雙向多對多關(guān)聯(lián)。這種關(guān)聯(lián)讓我們程序的實現(xiàn)變得相當(dāng)復(fù)雜。其實,仔細想一想,這些復(fù)雜的多對多關(guān)系未必就是實用的。

            現(xiàn)在有三種方式來簡化這種關(guān)系。

            1、使用有向關(guān)聯(lián)。

            2、使用限定詞。

            3、除去那些不重要的關(guān)系。

            應(yīng)該盡可能的給程序中的關(guān)系加上一些限制。雙向關(guān)系總是意味著關(guān)聯(lián)的兩方互相依存。如果程序中不總是使用關(guān)聯(lián)的任意一方導(dǎo)航到另一方,那么為關(guān)聯(lián)添加方向性將會大大簡化設(shè)計以及對象之間的依賴關(guān)系。如果你真的深入到領(lǐng)域中,你就會了解到領(lǐng)域本身也含有這么一種傾向。

            舉個例子來說。任何國家都會有領(lǐng)導(dǎo)人(總統(tǒng))。這就是一種雙向關(guān)聯(lián)。但是在日常生活中我們往往不會這樣問:里根是哪個國家的總統(tǒng)?而是會這樣問:美國總統(tǒng)是誰?這就是領(lǐng)域本身的一種傾向。利用這種傾向,我們就可以簡化總統(tǒng)和國家之間的關(guān)系,簡化我們的設(shè)計。這代表著一種對于領(lǐng)域的深入理解。同時,也能讓更加泛化的類“人”來作為關(guān)聯(lián)對象之一。如下圖:

            image

            隨著我們對領(lǐng)域更加深入的理解,我們發(fā)現(xiàn),除非非常時期,美國在一個時間階段內(nèi)只有一個總統(tǒng)。這又給了我們一個契機。我們可以把國家-總統(tǒng)這種多對一關(guān)系轉(zhuǎn)化成為一種“一對一”關(guān)系(至少是有條件的多對一關(guān)系)。這同時也為我們的設(shè)計添加了一個重要規(guī)則。我們的程序可以應(yīng)付諸如“誰是美國1970年總統(tǒng)”這樣的問題了。

            如下圖:

            image

             實際上部分無向的多對多關(guān)系的簡化也更加突出了那些不能簡化的無向多對多關(guān)系。這也突出了我們領(lǐng)域中的一些重要關(guān)系所代表的一些重要概念。

            終極的對關(guān)系的簡化就是除去關(guān)系,如果你認為這些關(guān)系對于領(lǐng)域而言不那么關(guān)鍵的話就可以這么做。

            posted on 2007-09-11 22:15 littlegai 閱讀(242) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲国产欧洲综合997久久| 狠狠色婷婷久久综合频道日韩 | 久久久久久久久久久久中文字幕| 一本色道久久88—综合亚洲精品| 久久er国产精品免费观看2| 一97日本道伊人久久综合影院| 99久久无色码中文字幕人妻| 美女写真久久影院| 国产色综合久久无码有码| 国产精品免费看久久久香蕉| 亚洲午夜久久久久久久久电影网| 成人亚洲欧美久久久久| 伊人久久综合无码成人网| 久久久久亚洲?V成人无码| 久久久久四虎国产精品| 色综合久久久久无码专区 | 亚洲欧美成人综合久久久| 久久综合九色综合欧美狠狠| 香蕉久久av一区二区三区| 久久久久亚洲AV无码去区首| 久久精品一区二区| 久久精品aⅴ无码中文字字幕不卡| 亚洲国产一成久久精品国产成人综合 | 国产亚洲欧美精品久久久| 一本久久精品一区二区| 精品国产青草久久久久福利| 久久综合九色综合97_久久久| 99久久久国产精品免费无卡顿 | 1000部精品久久久久久久久| 久久天天躁狠狠躁夜夜2020一| 日本精品久久久久影院日本| 久久精品国产亚洲7777| 国产精品日韩深夜福利久久| 国产精品内射久久久久欢欢| 国产高清国内精品福利99久久| 99久久成人18免费网站| 88久久精品无码一区二区毛片 | 久久久久久久综合日本| 久久免费99精品国产自在现线| 国产精久久一区二区三区| 久久综合亚洲色HEZYO国产|