類 包 子系統 介面

2021-08-18 19:59:41 字數 1880 閱讀 7936

類(class)

描述一組共享相同職責,關係,操作,屬性和語義的物件

包(package)

將元素組織成組的通用機制

可以包含其他模型元素的模型元素

不提供行為

不完全封裝它們的內容

可能不容易替換

包有公共可見(public visibility)和私密可見(private visibiliy)兩種類,只有公共可見類能被別的包的類引用

子系統(subsystems)

完全封裝行為(內容)

用清晰的介面代表獨立能力(可重複使用)

模型多個實現變體提供行為

提供行為

很容易被替換

子系統可用於將系統劃分為可獨立部分

只要介面保持不變即可開發

部署在一組分布式計算節點上

改變而不破壞系統的其他部分

將系統劃分為可以對關鍵資源提供有限安全性的單元

代表設計中的現有產品或外部系統(例如元件)

介面(inte***ces)

介面類的名稱最前面為大寫i

根據其職責確定子系統的介面

為所有子系統確定一組候選介面

尋找介面之間的相似之處

定義介面依賴關係

將介面對映到子系統

定義介面指定的行為

打包介面

介面名稱

介面描述

操作定義

介面文件

分析類(analysis classes)

初步的類的設計

設計元素(design elements)

把乙個類分成多個類

組成乙個包

組成子系統

邊界類(boundary classes)

邊界類放置在單獨的包中

與功能相關的類打包的邊界類

確定類是否在功能上相關的標準

乙個類行為和/或結構的變化需要另一類的變化

去除乙個類會影響其他班級

兩個物件與大量訊息互動或者俱有複雜的相互通訊

如果邊界類的功能是呈現實體類,則邊界類可以在功能上與特定實體類相關

兩個類與同乙個角色的變化互動或受其影響

兩個類彼此之間有關係

乙個類建立另乙個類的例項

確定兩個類不應該放在同乙個包中的標準

與不同參與者相關的兩個類不應放置在同乙個包中

乙個可選的和乙個強制的類不應該放在同乙個包中

包不能交叉耦合(cross-coupled)

低層的包不能依賴於高層的包

依賴關係不能跳過層級去依賴

不然兩個包相互依賴

辨別設計元素步驟

識別類和子系統

識別子系統介面

識別重用機會

更新設計模型的組織

檢查點尋找類似的介面

修改新的介面以改善適合度

用候選介面替換候選介面

將候選子系統對映到現有元件

層級考慮

可見性(能夠看見或被看見的狀態)

僅在當前層和下面的依賴關係

波動性(不可預測性)

受需求變化影響的上層

受環境變化影響的較低層

概論更低層的更多抽像模型元素層數

小系統:3-4層

複雜系統:5-7層

包有公共可見(public visibility)和私密可見(private visibiliy)兩種類,只有公共可見類能被別的包的類引用

面試題 類載入子系統

類載入器子系統的作用 類載入器子系統負責從檔案系統或者網路中載入class檔案,class檔案在檔案開頭有特定的檔案標識,classloader只負責載入class檔案,載入的類資訊存放在方法區中,除了類的資訊外,方法區中還會存放執行時常量池資訊,可能還包括字串字面量和數字常量。類載入過程 驗證準備...

輸入子系統

驅動函式操作步驟 在初始化函式中 1.分配乙個input dev結構體 struct input dev buttons dev buttons dev input allocate device 2.設定 2.1 能產生哪類事件 set bit ev key,buttons dev evbit s...

中斷子系統

linux kernel的中斷子系統之 一 綜述 linux kernel的中斷子系統之 二 irq domain介紹 linux kernel的中斷子系統之 三 irq number和中斷描述符 linux kernel的中斷子系統之 四 high level irq event handler ...