问一个关于软件设计的问题
最近看了一个视频 UML with Visual Studio 2010
跟着做了下
例子是个普通的三层结构,很简单,是个网站
三个工程
表示层 -> XXX.Web
业务层 -> XXX.Domain
数据层 -> XXX.Repository
依赖关系自然是从上到下的:
表示层 -> 业务层 -> 数据层
我的疑问是:
他的例子在业务层声明了一个接口 -> IRepository
然后再数据层实现了这个接口 -> SqlRepository
这样以来数据层的工程不就必须添加 业务层的引用了
也就是说数据层依赖于业务层了
这样岂不是循环引用了?
表示层 -> 业务层 <-> 数据层