【发布时间】:2020-05-12 13:39:56
【问题描述】:
我想知道何时应该为我的 blazor 服务器端应用程序创建一个服务并将其注入到 razor 组件中。
服务和简单类有什么区别?什么时候应该使用服务而不是静态类方法来获取数据?
最好的 马文
【问题讨论】:
标签: c# asp.net-core blazor blazor-server-side
我想知道何时应该为我的 blazor 服务器端应用程序创建一个服务并将其注入到 razor 组件中。
服务和简单类有什么区别?什么时候应该使用服务而不是静态类方法来获取数据?
最好的 马文
【问题讨论】:
标签: c# asp.net-core blazor blazor-server-side
在顶层,您可以大致考虑如下方法:
RemoveSpacesFromString(string text) 方法使用静态方法,该方法仅作用于传入的字符串。关于何时使用类、静态类或服务的决定并不是具体的 Blazor 问题,而是真正与诸如使代码可测试和允许替换新功能而无需返回并更改代码等概念相关已经在工作了。
这些是广泛的主题,如果您还不熟悉这些主题,您可能需要阅读 Dependency Injection、Unit Testing 和 SOLID principles(this is a Microsoft blog on SOLID 专注于 .NET 示例)。
本质上,注入服务允许进行更简单和更集中的测试,而使用静态方法意味着每次测试调用静态方法的方法时,您也在测试该静态方法 - 这可能是一个好的或一件坏事,取决于静态方法的上下文和功能。
【讨论】:
这个问题的答案很简单,您应该始终从服务中获取数据。静态方法通常用于实用程序或性能关键逻辑。 但是,有时我也会将更简单的东西放入静态中。
但是Service其实并没有那么难,基本上任何东西都可以作为服务,你只需在一个实例中处理逻辑,并在应用启动时将其注册为服务。
【讨论】: