最近我又回到了Flutter 翼方块,我真的很纠结于我遇到的一些概念,我找不到任何可靠的资源来更清楚地说明这一点,除了一个13年前的帖子,有点老了.
你能帮我理解一下什么是:
- 提供者
- 存储库
- 服务
以及他们之间是如何互动的?
最近我又回到了Flutter 翼方块,我真的很纠结于我遇到的一些概念,我找不到任何可靠的资源来更清楚地说明这一点,除了一个13年前的帖子,有点老了.
你能帮我理解一下什么是:
以及他们之间是如何互动的?
这很难回答,因为这些术语在不同的背景下意味着不同的事情.根据您询问的对象和引用的设计模式,它们中的一些可能具有相同的含义.根据您引用的设计模式,术语之间的差异可能会很细微.这些术语也非常宽泛,所以你必须定义每个术语在每个上下文中的含义.
既然你一次又一次地提到了Fliw和Block这两个词,我可以假设(或许是错误的),你正在考虑flutter_bloc
一揽子计划.在这种情况下,请参考official documentation的解释和术语.在本文档中,Word未提及术语服务.
为了扩大我的回答并包括术语服务,我会说,提供者和存储库可能意味着相同的事情,而存储库和服务可能意味着相同的事情.但我从来没有见过Provider 和服务在哪里可能意味着相同的事情.
与数据库等进行通信并提供来自源的数据的类.这些在数据源之上添加了某种形式的抽象层.
类包装一个或多个数据提供程序,或者包装一个或多个存储库(当包装器被称为服务时).可以包括其他业务逻辑和原始数据到域对象的映射.
当涉及到沿小部件树向下提供信息时,术语提供者也用于Flutter 小部件上下文中.例如来自flutter_bloc
个包装的BlocProvider
个或来自provider
个包装的Provider
个.
无论您将事物称为提供者、存储库、服务、Apples还是香蕉,关键部分都是分离UI、业务逻辑和数据获取.