我想知道什么时候应该为我的blazor服务器端应用程序创建一个服务,并将其注入剃须刀组件中。
服务和简单类之间有什么区别?什么时候应该使用服务来获取数据而不是静态类方法?
最佳马文
发布于 2020-05-12 18:52:28
在顶层,您可以考虑一种大致如下的方法:
RemoveSpacesFromString(string text)方法使用静态方法。关于何时使用类、静态类或服务的决定并不是一个具体的Blazor问题,而是与使代码可测试和允许替换新功能等概念有关,而不必返回并更改已经工作的代码。
这些都是广泛的主题,如果您还没有跟上它们的速度,那么您可能想了解一下依赖注入、单元测试和固体原理 (专注于.NET示例的这是微软关于SOLID的博客。)。
从本质上说,注入服务可以进行更简单和更集中的测试,而使用静态方法意味着每次测试调用静态方法的方法时,您也要测试该静态方法--这可能是好的,也可能是坏的,这取决于静态方法的上下文和功能。
发布于 2020-05-12 14:37:12
解决这个问题的方法很简单,人们期望您总是从服务中获取数据。静态方法通常用于实用或性能临界逻辑。然而,有时我也会把更简单的东西放进静力学中。
但是服务并没有那么难,基本上任何东西都可以作为服务,您只需在实例中处理逻辑并在应用程序启动时将其注册为服务。
https://stackoverflow.com/questions/61753230
复制相似问题