首先,咱们须要在根目录添加一个叫作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不须要)