日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UML 对象模型图阅读指南 (转)

發布時間:2025/4/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UML 对象模型图阅读指南 (转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以下內容來自www.uml.org.cn
?
2008-01-07 作者:Michael Zeiler 來源:gissky
?

ArcInfo 的使用方式由兩種:其一便是直接使用ArcGIS 桌面應用程序,ArcMap 和ArcCatalog,進行GIS 操作;其二,可以使用其中提供的框架構建開發自己的GIS 應用程序。

數據建模人員需要站在以上比這兩種方式更高的位置來完成自己的工作。用戶大多數情況下都會直接使用預先提供的ArcGIS 桌面應用程序創建Geodatabase。當然有時候也會需要你進行一些代碼定制,特別是在專業化程度很高的復雜數據模型的模擬上,代碼的工作更是不可或缺。

本書的目標之一便是介紹數據建模的概念,這樣的數據建模不僅在ArcInfo 的應用程序中適用,還在ArcInfo 的軟件組件中使用,這個軟件組建便是我們熟悉的所謂的ArcObjects。

本書中,從使用ArcInfo 軟件時遇到的概念說起,然后再使用對象模型圖來表現ArcInfo中的這些概念,以利于讀者理解。
比如,首先從一個ArcCatalog 用戶的角度來討論geodatabase、要素數據集和要素類的結構。接著從程序員的角度用模型圖的相關部分介紹geodatabase 數據的訪問對象。

這兩種視圖模式有相似之處,但是也有很大差別。應用程序的用戶界面有時隱藏了對于程序員來說非常重要的一些軟件組件細節。本書的目標是讓你能夠站到比用戶和開發者這兩個角度更高的位置處理數據建模的工作。

1.8.1 解讀類模型圖

下面圖示中,便是貫穿本書的對象模型圖的鑰匙。

這些符號是基于UML 畫圖工具創建的,UML 符號是面向對象分析和設計的工業圖樣標準。

對象模型圖中提供的信息非常多,是對象瀏覽器中信息的重要補充。Visual Basic,或者其它的開發環境,都會列出所有的類和成員,但不會指明這些類之間的關系。所以,對象模型圖是非常有利于讀者對ArcInfo 組件的理解的!

本書使用UML 來描述ArcInfo 組件,即ArcObjects,并描述你能夠創建的數據模型。

以下詳細說明。

1.8.2 類和對象

在UML 圖中有三種類型的類:抽象類(abstract class)、可創建類(createable class)與可實例化類(instantiable class)。

抽象類不能用以創建新對象,但可以用來指定子類。舉個例子,“line”(線)是“primaryline”(干線)和“secondary line”(副干線)的抽象類。

可創建類指的是那些你能夠直接使用開發環境中的對象定義語法來創建對象。比如在Visual Basic 中是這樣書寫:Dim As New <object> 或者CreateObject <object>。

可實例化類不能夠直接創建新對象,但是這種類的對象能夠作為其它對象的屬性被創建或是從其它類的方法中創建。

在Visual Basic 對象瀏覽器中,你能夠查看ArcInfo 所有的可創建類和可實例化類,但看不到抽象類。

1.8.3 關聯

在抽象類、可創建類和可實例化類之間,有幾種存在的關聯(或稱關系)。

聯系(association)便描述了類之間的關聯。在兩端的類中可以定義多重性( Multiplicity)關聯。

在這張圖上,一個業主能有擁有一塊或多塊宗地;同樣地,一塊宗地可以被一個或多個業主所共有。

多重性關聯就是限制對象類與其它對象關聯的數目關系。以下是用于多重性關聯的符號:

1 —— 一個并且只有一個,這種多樣性是可選的;如果不標明,則默認為“1”
0..1 —— 零個或一個
M..N —— 從M 到N(正整數)
*或者0… * —— 從零到任意正整數
1… * —— 從一到任意正整數

類繼承(type inheritance)定義了專門的類,它們擁有超類的屬性和方法,并且同時也有自身的屬性和方法。

上圖說明primary line 和secondary line 是line 的一種類型。

實例化(Instantiation)指定一個類的對象有這樣的方法,它能夠創建另外一個類的對象。

pole 對象有一個方法能夠創建transformer 對象。

聚合(Aggregation)是一種不對稱的關聯方式,在這種方式下一個類的對象被認為是一個“整體”,而另一個類的對象被認為是“部件”。

一個transformer bank 正好有3 個transformer 。在這個圖中transformer 能和一個transformer bank 相關聯,但當transformer bank 移除以后,transformer 依然能夠存在。

組成(Composition)是一種更為強壯的聚合方式,此種方式下,“整體”對象控制著“部分”對象的生存時間。

一個pole 包含一個或多個crossarm。在這個圖中當pole 被移除后,crossarm 就不能再使用了。因為pole 控制著crossarm 的生存時間。

1.8.4 用圖形符號描述模型

起初你也許不大習慣使用這種圖形符號,可以先試著讀解上面的例子,并結合自己的實際情況考慮。嘗試使用這樣的工作方法,而后你將會發現這樣的圖的讀解釋很容易的,而且你也覺得其實花點力氣去理解這些符號真的幫助很大——它用簡單而富有表現力的方法將對象模型很好的展示給我們,這樣理解ArcInfo 組件的概念便輕松簡單多了。

如果你需要定制要素,擴展geodatabase 數據訪問對象,那么這些UML 符號也是很重要并可以使用的。

轉載于:https://www.cnblogs.com/samlin/archive/2008/01/16/1041730.html

總結

以上是生活随笔為你收集整理的UML 对象模型图阅读指南 (转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。