我在 ASP.NET CORE
上的一个应用程序中遇到了一些体系结构问题。我在“应用程序”文件夹中有Web应用程序,在Business
中有业务层,在Data
中有上下文相关的内容。最后,在Model
中,我有了模型。
现在问题是I use Data and Model in Business layer and then I use the Business in Application controllers
。但是在某些情况下,我需要使用Data in Application to
。这会导致不需要的依赖项体系结构。
所以我想要的是在这里使用库的最佳方法。
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDbContextPool<ApplicationDBContext>(options =>options.UseLazyLoadingProxies().UseSqlServer(Configuration.GetConnectionString("amcConn")));
services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<ApplicationDBContext>()
.AddDefaultTokenProviders();
services.AddSession();
services.AddSingleton<IConfiguration>(Configuration);
services.AddMvc(options=> {
var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
options.Filters.Add(new AuthorizeFilter(policy));
}).AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver()).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
有人可以建议我如何管理吗?
答案 0 :(得分:0)
您描述的是间接(传递)依赖性,而不是循环依赖性。对于多层而言,取决于核心(模型)层是很常见的。
让业务依赖数据并不是那么干净,但也不是真正的问题或周期。如果要更好地解决该问题,请创建一个IStorage接口,该接口由业务和应用程序使用,由数据实现。 IStorage self则属于ring1或ring2层。
当您以洋葱架构的方式描绘这些图层时,这更有意义。外 环取决于内环。