 从系统结构图中可以看出,到目前为止我们没有任何关于数据库访问的实现部分,而Business则仅仅 是给出了IDatabase和IEntityDataAccess这两个用于定义数据访问要实现什么功能的接口。我们认为数据 访问如何实现是系统的细节,而领域模型(业务逻辑)是抽象,抽象的领域模型定义、但不关心、更不依 赖数据访问和数据库的设计与实现。相反,作为实现的细节,数据层根据业务逻辑的需要实现,随业务逻 辑的变更而变更,这也符合DIP(接口倒置原则)。上面的系统结构图,添加数据访问后,应该是这个样 子:
从系统结构图中可以看出,到目前为止我们没有任何关于数据库访问的实现部分,而Business则仅仅 是给出了IDatabase和IEntityDataAccess这两个用于定义数据访问要实现什么功能的接口。我们认为数据 访问如何实现是系统的细节,而领域模型(业务逻辑)是抽象,抽象的领域模型定义、但不关心、更不依 赖数据访问和数据库的设计与实现。相反,作为实现的细节,数据层根据业务逻辑的需要实现,随业务逻 辑的变更而变更,这也符合DIP(接口倒置原则)。上面的系统结构图,添加数据访问后,应该是这个样 子: 不仅仅是数据访问依赖于Business,UI——无论是Windows的还是Web的,也依赖于Business。在开发 Web层的时候,我们还会重申这个问题。
不仅仅是数据访问依赖于Business,UI——无论是Windows的还是Web的,也依赖于Business。在开发 Web层的时候,我们还会重申这个问题。