繁体   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