深層模型之因此這樣能強大,由於它包含了領域的核心概念和抽象,可以以簡單靈活的方式表達出基本的用戶活動,問題以及解決方案.深層模型第一步就是要表達領域的基本概念.編程
若是你有機會和業務專家交流,那麼就有可能聽到他們重複提到某些概念.那麼這些概念就很重要.使用他們將極大的改善你的模型函數
檢查你的系統最複雜且難以解釋的地方.這個地方能夠詢問領域專家,聽取他們的意見.若是沒有領域專家,你須要本身來理解並挖掘其中的概念測試
若是在程序的開發過程之中發現有概念理論有矛盾之處,那麼認真思考這些地方.你離深層模型又近了一步.設計
查看那些解釋基本概念和傳統思想的書籍.這些書籍能夠幫組你一開始就造成一致且深度的認識.雖然你還須要和領域專家合做才能將他們轉化爲面向對象軟件的概念對象
evans在書中說要嘗試六七遍才能獲得一個清晰的概念.若是你在作一個沒有任何固有參考的模型,那麼嘗試十幾回也是有可能的.不要執拗已見.接口
書中講了三個概念:約束,過程,規則ci
約束通常隱含在程序中,顯式它們會極大提升設計的質量.你須要根據約束和領域對象的關係將他們提取爲方法,對象,對象集合.開發
這裏的過程是指被領域專家常常說起的過程原型
規格也是一種模式,evans和別人提出的.邏輯編程範式.規格是一個謂詞,用來肯定對象是否知足某些標準.io
謂詞:計算結果爲真假的函數.
驗證對象
從集合中選擇一個對象
指定建立新對象時必須知足某種需求.
當有其餘相關開發團隊的工做依賴你的工做時,請先開發出一個可用的原型來知足他們的工做.