我正在尝试创建一个小型演示Web应用程序,它松散耦合,易于测试,代码清晰等。简而言之,我正在尝试以正确的方式做事。 ;)
目前,我的Wolfie解决方案中有三个项目:
- Wolfie.Core - 包含业务实体 - Wolfie.Data - 包含数据访问代码,引用Core。 - Wolfie.Web - 将成为Nancy网站。
目前为止,Core不知道其他任何项目的情况。Data必须引用Core,因为Core具有Data将返回的类型。因此,我意识到Web需要引用Core和Data才能工作,因为实体类型在Core中,数据库调用在Data中。
Data中的所有存储库类都有接口,以便可以对存储库进行模拟测试。
我不认为我想把任何特定于数据库的代码或引用放入Core中,并且我想把实体业务规则从Data中排除。
从Web引用这两个项目是正确的吗?还是需要另一个项目位于Web和其他项目之间,使Web仅引用一个位置并且不负责调用Data方法等。
我所追求的是一种架构,其中我的核心应用程序独立于Data和Web层。
希望我表达得清楚,期待您的有益回复。
目前,我的Wolfie解决方案中有三个项目:
- Wolfie.Core - 包含业务实体 - Wolfie.Data - 包含数据访问代码,引用Core。 - Wolfie.Web - 将成为Nancy网站。
目前为止,Core不知道其他任何项目的情况。Data必须引用Core,因为Core具有Data将返回的类型。因此,我意识到Web需要引用Core和Data才能工作,因为实体类型在Core中,数据库调用在Data中。
Data中的所有存储库类都有接口,以便可以对存储库进行模拟测试。
我不认为我想把任何特定于数据库的代码或引用放入Core中,并且我想把实体业务规则从Data中排除。
从Web引用这两个项目是正确的吗?还是需要另一个项目位于Web和其他项目之间,使Web仅引用一个位置并且不负责调用Data方法等。
我所追求的是一种架构,其中我的核心应用程序独立于Data和Web层。
希望我表达得清楚,期待您的有益回复。