91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

領域模型的概念及作用是什么

發布時間:2021-10-12 14:35:16 來源:億速云 閱讀:377 作者:iii 欄目:開發技術

本篇內容介紹了“領域模型的概念及作用是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

 領域模型的概念及作用是什么

領域模型的概念及作用

領域模型是對領域內的概念類或現實世界中對象的可視化表示。又稱概念模型、領域對象模型、分析對象模型。它專注于分析問題領域本身,發掘重要的業務領域概念,并建立業務領域概念之間的關系。概念比較深奧,其實說白了就是我們把基于對業務的理解畫成一個類圖,并畫出這些類之間的關系(面向對象)。

領域模型可以整理業務中的概念以及關系,幫助團隊中的成員對業務的理解保持一致,往后可以指導數據庫設計、系統功能設計、指導開發。在整個系統建設周期能起到  上接需求,下承開發 的作用。

那既然領域模型如此重要,我們是不是要在類圖中盡可能的展示對象的屬性和方法,以便更好的指導后續的開發設計。

恰恰相反,我們在建模的時候不要將注意力集中在屬性或行為上,應該擺脫這些細枝末節,抓住領域對象定義的最基本特征,只需要體現對象模型的重要概念。如果細節過多很容易產生  ”只見樹木,不見森林“ 的現象。

下面我們看一個簡化后的報銷業務的領域模型,加深一下印象。

領域模型的概念及作用是什么

完成一個領域模型建模,主要需要做兩件事:

  1. 鴻蒙官方戰略合作共建——HarmonyOS技術社區

  2. 定義類的關鍵屬性和關鍵行為;

  3. 定義類與類之間的關聯關系。

定義類的屬性和行為

定義類的屬性和行為比較簡單,用設計工具拖一個class即可,這里只需要注意一下屬性和行為的訪問權限。

- 表示private   # 表示protected  ~ 表示default,也就是包權限   + 表示public

領域模型的概念及作用是什么

定義類與類之間的交互關系

在UML類圖中,定義了六種類之間的關系,他們分別是:泛化(Generalization),  實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)。關系比較多,而且有些還比較相近,比如聚合和組合,接下來我們逐漸講解:

泛化(Generalization)

介紹:

泛化(Generalization)表示類與類之間的繼承關系,接口與接口之間的繼承關系。

圖例:

使用 空心三角形+實線 表示。

領域模型的概念及作用是什么

代碼實現:

public class A {    }  public class B extends A {    }

實現(Realization)

介紹:

實現(Realization)表示一個class類實現interface接口(可以是多個)的功能。

圖例:

使用 空心三角形+虛線 表示。

領域模型的概念及作用是什么

代碼實現:

public interface A {    }  public class B implements A {    }

聚合(Aggregation)

介紹:

聚合(Aggregation)表示一種弱的 ‘擁有’ 關系,即has-a的關系,體現的是A對象可以包含B對象,B類生命周期可以不依賴A類對象的生命周期,  也就是說可以單獨銷毀A類對象而不影響B類對象,比如課程與學生之間的關系。

圖例:

使用 空心的菱形+實線箭頭 表示。

領域模型的概念及作用是什么

代碼實現:

public class A {     private B b;     public A(B b){         this.b = b;     } }

組合(Composition)

介紹:

組合(Composition)表示一種強的 ‘擁有’  關系,即contains-a的關系,體現的是A對象包含B對象,B類生命周期依賴A類對象的生命周期,B類對象不可單獨存在,比如鳥與翅膀之間的關系。

圖例:

使用 實心的菱形+實線箭頭 表示,還可以使用連線兩端的數字表示某一端有幾個實例。

領域模型的概念及作用是什么

代碼實現:

public class A {     private B b;     public A () {         this.b = new B();     } }

關聯(Association)

介紹:

關聯(Association)是一種非常弱的關系,包含聚合、組合兩種關系。對于兩個相對獨立的對象,當一個對象負責構造另一個對象的實例,或者依賴另一個對象的服務時,這兩個對象之間主要體現為依賴關系。具體到代碼層面,如果B類是A類的成員變量,那么B類和A類就是關聯關系。

圖例:

使用實線箭頭表示。

領域模型的概念及作用是什么

代碼實現:

public class A {     private B b;     public A(B b){         this.b = b;     } }

或者

public class A {     private B b;     public A () {         this.b = new B();     } }

依賴(Dependency)

介紹:

依賴(Dependency)  是比關聯關系更加弱的關系,包含關聯關系。不管是B類對象是A類對象的成員變量,還是A類方法使用B類對象作為參數或者返回值、局部變量,只要B類對象和A類對象有任何使用關系,我們都稱他們有依賴關系。

圖例:

使用 虛線箭頭 表示。

領域模型的概念及作用是什么

代碼實現:

public class A {     private B b;     public A(B b){         this.b = b;     } }

或者

public class A {     private B b;     public A () {         this.b = new B();     } }

或者

public class A {  public void func(B b)         ...     } }

模型簡化

嚴格的UML類圖之間的關系拆分的太細,專業要求很高,大大增加了學習成本,而且對于業務溝通,指導后續數據庫設計,編程開發沒有太大意義。

所以在實際業務建模過程中,我們并不需要嚴格按照UML類圖交互關系來描述業務實體之間的關系,比如我們可以將聚合、組合、關聯統統使用關聯關系表示,使用實線連接兩個實體,并在兩側標記出實例個數即可。

領域模型的概念及作用是什么

“領域模型的概念及作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

格尔木市| 武宁县| 淳化县| 元阳县| 襄垣县| 石嘴山市| 凤翔县| 虞城县| 芜湖县| 甘德县| 枝江市| 寿阳县| 普宁市| 鄂托克前旗| 灵丘县| 隆回县| 宾川县| 汾阳市| 安溪县| 夏邑县| 临颍县| 福贡县| 大同县| 长丰县| 石台县| 连江县| 五大连池市| 防城港市| 上林县| 商河县| 明溪县| 柳河县| 日照市| 舒城县| 巍山| 固原市| 年辖:市辖区| 墨竹工卡县| 岗巴县| 新安县| 康乐县|