簡體   English   中英

在ASP.NET MVC控制器之間共享代碼

[英]Sharing code between ASP.NET MVC Controllers

我在這里有幾個控制器,包含我可以在其他控制器中使用的方法。

我考慮將一些常用功能移出到基本控制器,然后這些功能可以繼承。 這個問題是我在多個基本控件中需要的方法,我無法訪問。 (因為我們不能從多個基本控制器繼承)。

我的另一個想法是將常用功能移出到Controller文件夾之外的各自的類中。

你會怎么做? 在ASP.NET MVC中有一種很好的方式來共享這樣的代碼,我還不知道嗎?

關於面向對象編程有一個經驗法則,你應該支持組合而不是繼承 ,它非常適合這種情況。

我將創建一個或多個封裝有問題的方法的服務,然后從控制器中使用這些服務。

對於額外的點,從相關服務中提取接口,並將接口注入控制器以實現最大的關注點分離。

我會考慮幫助類或其他東西。 根據您的描述,功能有助於控制器/

選擇似乎是基本控制器或輔助類。 您可以控制控制器創建並將幫助程序注入需要它的控制器中。

暫無
暫無

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

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