首先,咱們須要在根目錄添加一個叫作Nature.config的配置文件,該文件記錄了Nature這個框架,相關的配置
可是,蛋疼的是,咱們還須要另一個根目錄的配置文件Nature.Core.dll.config這是因爲,Shuttle的配置是採用默認配置文件的,而咱們在Nature中定義了默認的寄主服務,以致於,關於Shuttle的配置信息只能在這個文件中才能被讀取到。
以上是關於框架的配置的,後面咱們來介紹各個模塊須要注意的事項:
Boot:
這個模塊的使用很簡單,只須要寫一個繼承了IBoot接口的類型,並將Enable返回True,就能夠在BootManager中調用Boot時,被調用了。
須要前置的Boot請配置在ProBootList中,這裏放的是,須要在該Boot啓動以前進行啓動的Boot的Name。
Cache:
這裏有個比較蛋疼的地方,咱們老是須要在Nature.config中配置這樣一個節點:
緣由呢,是由於咱們有個BootCache(Name爲:Nature.Core.Cache)會在啓動的時候被啓動,這個時候會初始化Boot的配置。
這裏具體的配置方法,將在Cache專門的介紹中說明。
Exceptions:
在應用系統中,須要定義本身的異常,繼承LogicException類型,並實現其構造函數。
若是須要捕捉框架異常,請捕捉FrameException
若是須要捕捉改系統下全部自定義異常,請捕捉BaseException
其中,errNo全局不可重複,errNo的信息被配置在指定的xml文件中,其中,Core的文件爲Exceptions目錄下的FrameExceptions.xml文件
自定義的文件須要用BaseException的AddExceptions方法加載,建議在Boot時加載。
Log:
目前提供的LogHelper基本直接使用Log4net實現,因此,只須要把當前的config/log4net.config拷貝過去就能夠了,注意目錄依然不可變。若是須要,請自行改變配置內容。
Distributed:
這裏是開框架中分佈式相關的內容,目前是由Shuttle提供的消息,值得注意的是,這裏的配置信息,須要配載Nature.Core.dll.config
中。
DDD:
這裏的使用相對較爲複雜。主要以下:
實體須要繼承EntityBase類
值對象須要繼承ValueObjecBase類
聚合根鬚要繼承IAggregationRoot
領域事件須要繼承BaseDomainEvent,領域事件的發佈,須要調用領域事件的Raise方法
處理領域事件,須要繼承IDomainEventHandler接口
倉儲須要繼承IRepository接口
查詢須要繼承IQuery接口
接口的繼承的對應的實現,須要進行配置,建議在對應的Boot中進行(注:IDomainEventHandler不須要)