重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文不详细介绍什么是整洁架构以及 MVP 模式,自行查看文章结尾相关链接文章。
成都创新互联公司从2013年创立,是专业互联网技术服务公司,拥有项目成都网站设计、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元青岛做网站,已为上家服务,为青岛各地企业和个人服务,联系电话:028-86922220
下图为整洁架构最原始的结构图:
这不就是后端的 mvc 吗?
Service,Model 都为纯 JS 类/对象,与框架无关。
基础服务虚线表示并不是直接调用相应的 API,而是封装在工具库或者函数中。
如何真正的落地?
presenter/controller 创建 model,service 实例,并且将 model 注入 service 中。service 中使用 model 做业务逻辑计算。同时 presenter/controller 内调用 service 方法处理 view 事件,同时将 model 返回到 view 层中做数据绑定
问题:model 是纯 JS 对象,如何让 model 数据变更的时候触发 view 的更新?
mobx,@formily/reactive 将 model 变成响应式的;造轮子 - 发布订阅模式
使用 vue composition api 或者 react hooks 构建 model,所以 model 就是一个自定义 hooks。
presenter/controller 也是一个自定义 hooks,内部可以调用我们自己定义的 hooks,以及第三方开源的 hooks 库,比如 ahooks,vueuse
因为 model 是一个自定义 hooks ,当内部的 state 更新的时候,就会促发视图 view 的更新。
前端架构 101(六):整洁(Clean Architecture)架构是归宿 - 知乎 (zhihu.com)
Clean Frontend Architecture:整洁前端架构 | clean-frontend (phodal.github.io)
干货 | 携程机票 React Native 整洁架构实践 (qq.com)
干货 | Trip.com 机票React Native整洁架构2.0实践 - 腾讯云开发者社区-腾讯云 (tencent.com)
Moving away from ReactJs and VueJs on front-end using Clean Architecture - DEV Community ????????????????