Tag: 凝聚力的分离

构建可测试的业务层逻辑

我正在使用分层架构在.net / c#/ Entity Framework中构建应用程序。 与外界的应用程序接口是WCF服务层。 在这个图层下面,我有BL,共享库和DAL。 现在,为了使我的应用程序中的业务逻辑可测试,我试图引入关注点分离,松耦合和高内聚,以便能够在测试时注入依赖关系。 我需要一些指示,如果下面描述的方法是否足够好,或者我是否应该进一步解耦代码。 以下代码段用于使用动态linq查询数据库。 我需要使用动态linq,因为我不知道表的名称或要查询到运行时的字段。 代码首先将json参数解析为类型对象,然后使用这些参数构建查询,最后执行查询并返回结果 以下是在下面的测试中使用的GetData函数 IQueryHelper helper = new QueryHelper(Context.DatabaseContext); //1. Prepare query LinqQueryData queryData = helper.PrepareQueryData(filter); //2. Build query IQueryable query = helper.BuildQuery(queryData); //3. Execute query List dalEntities = helper.ExecuteQuery(query); 以下是DAL及其接口中查询助手类的高级定义 public interface IQueryHelper { LinqQueryData PrepareQueryData(IDataQueryFilter filter); IQueryable BuildQuery(LinqQueryData queryData); List ExecuteQuery(IQueryable query); } public […]