You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VIPER架构中Access Token的合理存储位置探讨

VIPER架构中Access Token存储位置的规范判断

结合你给出的VIPER核心组件职责定义,Access Token的存储逻辑应该放在Interactor中处理,原因如下:

  1. 符合Interactor的业务逻辑职责
    Interactor的核心是承载特定用例的业务逻辑,登录用例的完整流程不仅包括发起网络请求获取Token,还需要将Token持久化存储(这是登录成功后完成业务闭环的必要步骤)。把存储操作放在Interactor里,能保证登录业务逻辑的完整性和内聚性,避免业务逻辑分散到其他组件。

  2. 遵循单一职责原则
    Presenter的职责是处理视图逻辑:接收用户输入、向Interactor请求数据、准备视图展示内容、通知View更新UI。如果把Token存储放到Presenter中,会让它承担非视图相关的业务操作,违背单一职责,导致Presenter职责混乱、难以维护。

  3. 保持组件边界清晰
    VIPER的核心是组件解耦,各组件各司其职。数据持久化(比如KeyChain存储)属于业务逻辑的配套操作,归Interactor管理更合理。Presenter只需要接收Interactor返回的登录成功/失败结果,然后执行对应的视图逻辑(比如跳转到首页、提示错误)即可。

另外补充:KeyChainManager作为专门的持久化工具类,应该被Interactor调用,而非其他组件。后续如果有其他业务场景需要读取Token,也应该通过Interactor或者专门的数据访问层来调用KeyChainManager,避免View/Presenter直接操作持久化层。

内容的提问来源于stack exchange,提问作者Whirlwind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:25:14