Flutter Bloc架构疑问:按页面还是按业务动作创建Bloc?
关于Bloc拆分的建议
建议你分别为signIn和数据展示创建独立的Bloc,原因如下:
- 单一职责原则:每个Bloc只聚焦一个核心功能——signIn Bloc专门处理登录相关逻辑,比如输入验证、发起登录请求、管理登录状态;数据展示Bloc专注于数据的获取、更新和展示状态管理,完全符合软件工程的单一职责要求,逻辑边界清晰。
- 可复用性更强:独立的Bloc可以直接在其他需要登录或数据展示的页面复用,无需从混合Bloc中拆分代码,提升开发效率。
- 维护与调试更便捷:后续如果要调整登录逻辑,只需改动signIn Bloc,不会影响数据展示的功能;出现问题时,能快速定位到对应的Bloc排查,降低维护成本。
- 状态管理更可控:如果把两个不相关的功能塞进同一个Bloc,登录状态和数据状态会混杂在一起,容易引发状态冲突或逻辑混乱;独立Bloc各自维护专属状态,状态流转更清晰、可控。
内容的提问来源于stack exchange,提问作者ming chen
相关产品推荐
相关产品推荐

