Python面向對象編程——領域模型

Python面向對象編程——領域模型

領域建模。 從領域模型開始,咱們就開始了面向對象的分析和設計過程,能夠說,領域模型是完成從需求分析到面向 對象設計的一座橋樑。python

領域模型,顧名思義,就是需求所涉及的領域的一個建模,更通俗的講法是業務模型。 參考百度百科(http://baike.baidu.cn/view/757895.htm),領域模型定義以下:編程

從這個定義咱們能夠看出,領域模型有兩個主要的做用:設計

一、發掘重要的業務領域模型。htm

二、創建業務領域概念之間的關係。對象

領域建模三字經

領域模型如此重要,不少同窗可能會認爲領域建模很複雜,須要很高的技巧。然而事實上領域建模很是簡 單,簡單得有點難以讓人相信,領域建模的方法歸納一下就是「找名詞」! 許多同窗看到這個方法後估計都會笑出來:太假了吧,這麼簡單,找個初中生都會啊,那咱們公司那些分析師和設計師還有什麼用哦?blog

分析師和設計師固然有用,後面咱們會看到,即便是簡單的找名詞這樣的操做,也涉及到分析和提煉,而 不是簡單的摘取出來就可,這種狀況下分析師和設計師的經驗和技能就可以派上用場了。但領域模型分析 也確實相對簡單,即便沒有豐富的經驗和高超的技巧,至少也能完成一個能用的領域模型。開發

雖然咱們說「找名詞」很簡單,但一個關鍵的問題尚未說明:從哪裏找? 若是你還記得領域模型是「需求到面向對象的橋樑」,那麼你確定一會兒就能想到:從需求模型中找,具 體來講就是從用例中找。get

概括一下域建模的方法就是「從用例中找名詞」。 固然,找到名詞後,爲了可以更加符合面向對象的要求和特色,咱們還須要對這些名詞進一步完善,這就 是接下來的步驟:加屬性,連關係!面向對象編程

最後咱們總結出領域建模的三字經方法:找名詞、加屬性、連關係class

一、找名詞

who : 學員、講師、管理員

用例:

  1. 管理員建立了 北京 和 上海 兩個校區
  2. 管理員 建立了 Linux Python Go 3個課程
  3. 管理員 建立了 北京校區的Python 16期, Go開發第一期,和上海校區的Linux 36期班級
  4. 管理員 建立了 北京校區的學員小晴 ,並將其 分配 在了 班級 python 16期
  5. 管理員 建立了講師Alex , 並將其分配 給了 班級 python 16期 和全棧脫產5期
  6. 講師 Alex 建立 了一條 python 16期的上課紀錄Day6
  7. 講師 Alex 爲Day6這節課 全部的學員 批了做業,小晴得了A, 李磊得了C-, 嚴帥得了B
  8. 學員小晴 在 python 16 的 day6裏 提交了做業
  9. 學員李磊 查看了本身所報的全部課程
  10. 學員 李磊 在 查看了 本身在 py16期 的成績列表 ,而後自殺了
  11. 學員小晴 跟 講師 Alex 表白了

名詞列表:

管理員、校區、課程、班級、上課紀錄、做業、成績、講師、學員

二、加屬性

三、連關係

有了類,也有了屬性,接下來天然就是找出它們的關係了。

相關文章
相關標籤/搜索