簡體   English   中英

使用ASP.NET 5的N層架構(MVC 6)

[英]N-Tier Architecture using ASP.NET 5 ( MVC 6 )

我正在閱讀有關ASP.NET核心功能的內容,我決定將當前的解決方案(MVC 5)轉移到MVC 6,但我對集成DI有點困惑。 目前我有這種架構

目前的架構

CemaManager(代表層)引用了Helpers,Resource,ViewModel和BLL。 Bll引用了ViewModel,Database和DLL。 Dll引用了Database。

使用DI和存儲庫模式的典型N層架構。

當我調查MVC6時,有啟動,其中DI初始化。 這意味着如果我想分離BLL和DAL,它們將全部引用MVC6並且所有邏輯都將通過該層? 到時候它會變得沉重,難以維持和擴展,還是我錯了?

有沒有辦法將startup.cs或DI方法導出到另一層? 也許有人知道要閱讀的文章或例子?

就個人而言,我會對整體結構有一些改變,但我猜測完整的設計評審並不是你所要求的。 在您的實際問題上,不 - 您的其他圖層不需要引用MVC。

對於大多數應用程序,需要在表示層中配置和初始化IoC。 最終,您的表示層需要一個參考鏈(直接或間接引用)到您想要注冊的所有內容,但這一直都是正確的。

您已經引用了Helpers,Resource,ViewModel和BLL,因此您可以輕松地在這些層中注冊接口的實現。 您還可以添加對DLL的引用以注冊該層的實現。

您還可以使用間接路由並在每個層中添加一個類,該類引用您的IoC容器並處理其自己的注冊。 在Autofac中,這是使用模塊完成的,但是使用其他IoC容器有相同的方法來完成相同的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM