考虑到 Uncle Bob's Clean Architecture(或洋葱架构)
我有以下场景:
对于第一个问题,我应该有一个
但是对于第二个问题,我不知道是否应该:
我有以下场景:
- 我想向用户展示一个地方的信息:名称、类别、坐标。
- 我还想在同一屏幕上,放置一个按钮,点击后会重定向到一个地图应用程序,显示该地方的位置。
对于第一个问题,我应该有一个
RetrievePlaceInformationInteractor
(用例),它将接收一个地点ID并返回名称、类别和坐标。但是对于第二个问题,我不知道是否应该:
- 需要一个单独的
OpenPlaceInMapInteractor
(用例),它将接收地点ID并返回由Presenter
中该框架API使用的坐标。 - 需要一个单独的
OpenPlaceInMapInteractor
(用例),它将接收地点ID并使用该框架API重定向到地图应用程序。 - 使用相同的
RetrievePlaceInformationInteractor
获取坐标并在回调中填充它,当单击OpenInMap按钮时调用该框架API,并且该回调将被调用。
第一个似乎有点愚蠢,因为它实际上是一个交互器,仅用于检索已由另一个交互器检索的一个属性。
第二个强制OpenPlaceInMapInteractor
访问框架API,这有点违背了交互器层不访问上面层的目的(当然,我可以使用API协议并使用依赖注入,但仍然依赖于特定于框架的功能)。
第三个似乎合理,但我是否会在一个用例中实现两个用例?
我该怎么办?
谢谢。