以前见到Petshop,在IDE的解决方案目录,分作好几个项目。
其中不乏将接口独立成一个项目的(即使可以在同一个项目写编写它的实现)。
刚在写一个接口时突然领悟到:这样做是否是可以避免项目循环引用?
--------------
补充:接口与实现独立出来后,还需要添加一个工厂才可以避免循环引用问题,麻烦了些。
最后采取的方法是:不采用工厂,接口实现类直接引用dal,而非bll。然后bll就可以引用接口实现。
也就是把接口的实现,与实现dal的bll看做是同一层,似乎也说得过去,因为接口的实现也是业务。
那为什么不把接口的实现直接放在bll项目里呢?由于分工的明确性,所以还是分开好了。