我在很多地方看到c#程序员在使用3-tire架构时,往往会在每一层之间使用接口。例如,如果解决方案是这样的
SampleUI
Sample.Business.Interface
Sample.Business
Sample.DataAccess.Interface
Sample.DataAccess
Run Code Online (Sandbox Code Playgroud)
这里UI通过接口调用业务层,业务调用数据访问的方式相同。如果这种方法是为了减少层之间的依赖关系,它已经与类库一起使用,无需额外使用接口。代码示例如下,
public class SampleBusiness{
ISampleDataAccess dataAccess = Factory.GetInstance<SampleDataAccess>();
dataAccess.GetSampledata();
}
Run Code Online (Sandbox Code Playgroud)
public interface IsampleDataAccess{
string GetSampleData();
}
Run Code Online (Sandbox Code Playgroud)
public class SampleDataAccess:ISampleDataAccess{
public string GetSampleData(){
returns data;// data from database
}
}
Run Code Online (Sandbox Code Playgroud)