为什么使用用例? Android Jetpack 未在文档中提及用例
Why use UseCases? Android Jetpack is not mentioning UseCases in the docs
在我的 android Clean Architecture 中真的有必要使用 UseCases 吗?
在 Android Jetpack documentation 中他们没有提到它。
他们直接从 ViewModels 访问存储库。
这不是更好的选择吗? UseCase 代码不只是让调整代码变得不必要地更加困难吗?
如果您想严格遵循 Uncle Bob 的干净架构,那么您应该使用 UseCases。
They are accessing the repository directly from the ViewModels. Isn't that a better option?
这在很大程度上取决于,干净的架构让测试变得超级容易,也让你在实现之前更多地从架构上思考,让你不做妥协 a.k.a。 调整代码,它遵循非常好的 SOLID 原则。
另一方面,设置项目要困难得多,有时感觉你在过度设计它
但在设置之后,您会发现可维护性和可扩展性方面的改进。
我认为了解什么是干净的架构并采用适合您需要的架构是很棒的。
如果您想了解更多关于简洁架构 https://caster.io/courses/android-clean-architecture 及其适用方式的信息,这是很好的资源 android。
嗯,我认为确实没有必要使用 UseCases
,尤其是当您不熟悉它们时。 UseCases
只是一种用于创建更具可扩展性的项目和重用代码的架构模式。
我个人使用 UseCases
,我认为它有意义。例如,在我们的项目中,我们有 View
、ViewModel
和 Repository
。使用 UseCase
的两种常见情况是 if
1)两个ViewModel
有共同的逻辑处理来自Repository
的数据。这可能会变成 UseCase
(但不一定,您可以为此创建一个更小的 VM
)
2) 你想在 Repository
和 ViewModel
之间包含一个加层,因为你需要那个层来处理一些额外的逻辑,即是出于Repository
and/orViewModel
的目的。例如,Repository
和 ViewModel
都不应该解决调度问题。 (类似这样的问题,如果你有缓存,则在 MainThread 上获取数据,如果没有则切换到后台线程。)
所以总而言之,与架构相关的任何内容都不是必需的。你不应该在你的项目上强加一些东西,架构模式只是为了让你的应用程序更容易修改、扩展和使用。
在我的 android Clean Architecture 中真的有必要使用 UseCases 吗?
在 Android Jetpack documentation 中他们没有提到它。 他们直接从 ViewModels 访问存储库。
这不是更好的选择吗? UseCase 代码不只是让调整代码变得不必要地更加困难吗?
如果您想严格遵循 Uncle Bob 的干净架构,那么您应该使用 UseCases。
They are accessing the repository directly from the ViewModels. Isn't that a better option?
这在很大程度上取决于,干净的架构让测试变得超级容易,也让你在实现之前更多地从架构上思考,让你不做妥协 a.k.a。 调整代码,它遵循非常好的 SOLID 原则。
另一方面,设置项目要困难得多,有时感觉你在过度设计它
但在设置之后,您会发现可维护性和可扩展性方面的改进。
我认为了解什么是干净的架构并采用适合您需要的架构是很棒的。
如果您想了解更多关于简洁架构 https://caster.io/courses/android-clean-architecture 及其适用方式的信息,这是很好的资源 android。
嗯,我认为确实没有必要使用 UseCases
,尤其是当您不熟悉它们时。 UseCases
只是一种用于创建更具可扩展性的项目和重用代码的架构模式。
我个人使用 UseCases
,我认为它有意义。例如,在我们的项目中,我们有 View
、ViewModel
和 Repository
。使用 UseCase
的两种常见情况是 if
1)两个ViewModel
有共同的逻辑处理来自Repository
的数据。这可能会变成 UseCase
(但不一定,您可以为此创建一个更小的 VM
)
2) 你想在 Repository
和 ViewModel
之间包含一个加层,因为你需要那个层来处理一些额外的逻辑,即是出于Repository
and/orViewModel
的目的。例如,Repository
和 ViewModel
都不应该解决调度问题。 (类似这样的问题,如果你有缓存,则在 MainThread 上获取数据,如果没有则切换到后台线程。)
所以总而言之,与架构相关的任何内容都不是必需的。你不应该在你的项目上强加一些东西,架构模式只是为了让你的应用程序更容易修改、扩展和使用。