Python面向對象編程——領域模型
領域建模 。 從領域模型開始,我們就開始了面向對象的分析和設計過程,可以說,領域模型是完成從需求分析到面向 對象設計的一座橋梁。
領域模型,顧名思義,就是需求所涉及的領域的一個建模,更通俗的講法是業務模型。 參考百度百科(http://baike.baidu.cn/view/757895.htm),領域模型定義如下:
從這個定義我們可以看出,領域模型有兩個主要的作用:
1、發掘重要的業務領域模型。
2、建立業務領域概念之間的關系。
領域建模三字經
領域模型如此重要,很多同學可能會認為領域建模很復雜,需要很高的技巧。然而事實上領域建模非常簡 單,簡單得有點難以讓人相信,領域建模的方法概括一下就是“ 找名詞 ”! 許多同學看到這個方法后估計都會笑出來:太假了吧,這么簡單,找個初中生都會啊,那我們公司那些分析師和設計師還有什么用哦?
分析師和設計師當然有用,后面我們會看到,即使是簡單的找名詞這樣的操作,也涉及到分析和提煉,而 不是簡單的摘取出來就可,這種情況下分析師和設計師的經驗和技能就能夠派上用場了。但領域模型分析 也確實相對簡單,即使沒有豐富的經驗和高超的技巧,至少也能完成一個能用的領域模型。
雖然我們說“找名詞”很簡單,但一個關鍵的問題還沒有說明: 從哪里找 ? 如果你還記得領域模型是“需求到面向對象的橋梁”,那么你肯定一下子就能想到:從需求模型中找,具 體來說就是從用例中找。
歸納一下域建模的方法就是“ 從用例中找名詞 ”。 當然,找到名詞后,為了能夠更加符合面向對象的要求和特點,我們還需要對這些名詞進一步完善,這就 是接下來的步驟: 加屬性,連關系 !
最后我們總結出領域建模的三字經方法: 找名詞、加屬性、連關系 。
1、找名詞
who : 學員、講師、管理員
用例:
- 管理員 創建了 北京 和 上海 兩個 校區
- 管理員 創建了 Linux Python Go 3個 課程
- 管理員 創建了 北京校區的Python 16期, Go開發第一期,和上海校區的Linux 36期 班級
- 管理員 創建了 北京校區的 學員 小晴 ,并將其 分配 在了 班級 python 16期
- 管理員 創建了 講師 Alex , 并將其分配 給了 班級 python 16期 和全棧脫產5期
- 講師 Alex 創建 了一條 python 16期的 上課紀錄 Day6
- 講師 Alex 為Day6這節課 所有的學員 批了 作業 ,小晴得了A, 李磊得了C-, 嚴帥得了B
- 學員小晴 在 python 16 的 day6里 提交了作業
- 學員李磊 查看了自己所報的所有課程
- 學員 李磊 在 查看了 自己在 py16期 的 成績 列表 ,然后自殺了
- 學員小晴 跟 講師 Alex 表白了
名詞列表:
管理員、校區、課程、班級、上課紀錄、作業、成績、講師、學員
2、加屬性
3、連關系
有了類,也有了屬性,接下來自然就是找出它們的關系了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
