將隱式概念轉變爲顯式概念學習筆記

將隱式概念轉變爲顯式概念.

深層模型之因此這樣能強大,由於它包含了領域的核心概念和抽象,可以以簡單靈活的方式表達出基本的用戶活動,問題以及解決方案.深層模型第一步就是要表達領域的基本概念.編程

概念挖掘

傾聽語言

若是你有機會和業務專家交流,那麼就有可能聽到他們重複提到某些概念.那麼這些概念就很重要.使用他們將極大的改善你的模型函數

檢查不足之處

檢查你的系統最複雜且難以解釋的地方.這個地方能夠詢問領域專家,聽取他們的意見.若是沒有領域專家,你須要本身來理解並挖掘其中的概念測試

思考矛盾之處

若是在程序的開發過程之中發現有概念理論有矛盾之處,那麼認真思考這些地方.你離深層模型又近了一步.設計

查閱書籍

查看那些解釋基本概念和傳統思想的書籍.這些書籍能夠幫組你一開始就造成一致且深度的認識.雖然你還須要和領域專家合做才能將他們轉化爲面向對象軟件的概念對象

嘗試在嘗試

evans在書中說要嘗試六七遍才能獲得一個清晰的概念.若是你在作一個沒有任何固有參考的模型,那麼嘗試十幾回也是有可能的.不要執拗已見.接口

爲什麼爲那些不太明顯的概念建模

書中講了三個概念:約束,過程,規則ci

顯式的約束

約束通常隱含在程序中,顯式它們會極大提升設計的質量.你須要根據約束和領域對象的關係將他們提取爲方法,對象,對象集合.開發

過程建模爲領域對象

這裏的過程是指被領域專家常常說起的過程原型

規格(specification)

規格也是一種模式,evans和別人提出的.邏輯編程範式.規格是一個謂詞,用來肯定對象是否知足某些標準.io

謂詞:計算結果爲真假的函數.

規格做用

  • 驗證對象

  • 從集合中選擇一個對象

  • 指定建立新對象時必須知足某種需求.

指定建新對象時必須知足某種需求

  • 生成器的實現與接口分離
  • 接口把規則顯示錶示出來,開發人員沒法瞭解細節就能知道結果.
  • 接口更爲靈活,只要實現specification的要求就行
  • 便於測試.

經過可工做的原型來擺脫開發僵局

當有其餘相關開發團隊的工做依賴你的工做時,請先開發出一個可用的原型來知足他們的工做.

相關文章
相關標籤/搜索