類、包、子系統、接口

類(class)

描述一组共享相同职责,关系,操作,属性和语义的对象

包(package)

将元素组织成组的通用机制

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

不提供行為
不完全封裝它們的內容

可能不容易替換

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

子系統(subsystems)

完全封裝行為(內容)
用清晰的界面代表獨立能力(可重複使用)
模型多個實現變體提供行為
提供行為

很容易被替換

子系統可用於將系統劃分為可獨立部分
只要接口保持不變即可開發
部署在一組分佈式計算節點上
改變而不破壞系統的其他部分
將系統劃分為可以對關鍵資源提供有限安全性的單元
代表設計中的現有產品或外部系統(例如組件)

接口(interfaces)

接口類的名稱最前面為大寫I
根據其職責確定子系統的接口
為所有子系統確定一組候選接口
尋找接口之間的相似之處
定義接口依賴關係
將接口映射到子系統
定義接口指定的行為

打包接口

接口名稱

接口描述
操作定義
接口文檔

分析類(analysis classes)

初步的類的設計

設計元素(design elements)

把一個類分成多个类
組成一个包

組成子系统

邊界類(boundary classes)

邊界類放置在單獨的包中

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

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

一個類行為和/或結構的變化需要另一類的變化
去除一個類會影響其他班級
兩個對象與大量消息交互或者俱有復雜的相互通信
如果邊界類的功能是呈現實體類,則邊界類可以在功能上與特定實體類相關

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

兩個類彼此之間有關係

一個類創建另一個類的實例

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

與不同參與者相關的兩個類不應放置在同一個包中
一個可選的和一個強制的類不應該放在同一個包中

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

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

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

不然兩個包相互依賴

辨別設計元素步驟

識別類和子系統
識別子系統接口
識別重用機會
更新設計模型的組織
檢查點

尋找類似的界面
修改新的界面以改善適合度
用候選接口替換候選接口
將候選子系統映射到現有組件

層級考虑

可見性(能夠看見或被看見的狀態)
僅在當前層和下面的依賴關係
波動性(不可預測性)
受需求變化影響的上層
受環境變化影響的較低層
概論
更低層的更多抽像模型元素層數
小系統:3-4層
複雜系統:5-7層





包有公共可見(public visibility)和私密可見(private visibiliy)兩種類,只有公共可見類能被別的包的類引用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值