Ngu*_*inh 5 android facebook-graph-api clean-architecture
我在当前项目中正在使用Clean Architecture。现在,我想集成一个功能,该功能要求Facebook SDK执行登录。
我认为,Facebook SDK充当数据提供程序(提供身份验证服务,类似于其他Restful登录API),应在data模块下而不是app模块下进行设置和使用。例如,如果我想执行Facebook登录,我将调用适当的用例,然后该用例将调用data模块进行实际工作。
但是,挑战在于Facebook方法(请参阅Facebook的LoginManager,在此处),需要Activity / Fragment实例才能运行。
那么,我应该将Facebook SDK移回app模块还是将Activity实例传递给storage模块?
我真的不喜欢他们的任何选择。(尽管有助于解决需求,但感到不高兴)。有谁有更好的方法?谢谢
为了严格遵循干净的架构,您必须将所有框架排除在您的内部圈子(应用程序模块)之外。这包括 Facebook SDK 以及 Android 本身。
在清洁架构中从业务规则访问框架的常用方法是通过抽象。
在您的用例中,我建议如下:
这种方法会向您的项目添加更多的类和接口,但也会清楚地分离关注点和依赖项。
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |