MVC架构

MVC架构

为什么要关注架构?

  • 架构

就像房子一样,软件也需要一个结构: 这是我们组织代码的方式;

  • 可维护性

项目永远没有终点!我们需要能够在未来轻松地对其进行修改。

  • 可扩展性

我们还需要可以轻松的添加新功能

在构建完美的架构时,我们有以下几种选择:

  1. 自定义架构(比如Mapty项目):我们可以根据项目的具体需求,设计并实现一个完全自定义的架构。这种方式提供了最大的灵活性,但同时也需要更多的开发事件和资源来确保架构的稳定性和可维护性;
  2. 使用成熟的架构模式(如MVC、MVP、Flux等):这些架构模式已经被广泛验证,能够提供良好的结构化和模块化。使用这些模式可以加快开发速度,减少错误,并且更容易维护和扩展;
  3. 使用框架(比如React、VUE、Angular、Svelte等):这些前端框架提供了丰富的功能和工具,能够极大地简化开发过程。它们通常内置了最佳实践和架构模式,使得开发者可以专注于业务逻辑的实现,而不必过多担心底层架构的设计。选择哪种方式取决于项目的具体需求、团队的技能水平以及事件和资源的限制。无论选择哪种方式,目标都是构建一个可扩展、可维护且高效的架构;

任何架构的组成部分

  1. 业务逻辑
  • 解决实际业务问题的代码;
  • 与企业做什么和需要什么直接相关
  • 例如: 发送消息、存储交易、计算税费、用于身份验证等等;
  1. 状态
  • 实质上存储有关应用程序的所有数据;
  • 应该是"单一事实来源";
  • UI应与状态保持同步;
  • 存在状态库,例如Redux、MobX;
  1. HTTP库
  • 负责发送和接受AJAX请求;
  • 在实际应用中虽然不是必须的,但是几乎总是必要的;
  1. 应用逻辑(ROUTER)
  • 只关注应用程序本身实现的代码;
  • 处理导航和UI事件;
  1. 表示逻辑(UI层)
  • 关注应用程序可见部分的代码;
  • 本质上显示应用程序的状态;

模型-视图-控制器(MVC)架构

  1. MODEL
  • 业务逻辑
  • 状态
  • HTTP库
  1. CONTROLLER
  • 应用逻辑
    • 模型和视图之间的桥梁(两者彼此不知晓);
    • 处理UI事件并将任务分派给模型和视图;
  1. view
  • 表示逻辑

工作流程

  1. 用户与view交互(比如点击按钮)。
  2. View将用户操作传递给Controller。
  3. Controller处理请求,调用Model更新数据或执行逻辑。
  4. Model更新数据并返回结果给Controller.
  5. Controller更新View以反映新的数据状态。
  6. 用户看到更新后的View

MVC实现(仅用于食谱展示)

相关推荐
麦客奥德彪9 分钟前
Android Skills
架构·ai编程
Maimai1080816 分钟前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong20 分钟前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
沪漂阿龙2 小时前
面试题详解:智能客服 Agent 系统全栈拆解——Rasa Pro、对话管理、意图识别、GraphRAG、Qwen 与 RAG 优化实战
人工智能·架构
辰海Coding3 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
卡卡军3 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
Larcher3 小时前
🔥 告别抓瞎:用 Claude Code (cc) 优雅接手与维护已有项目
javascript·机器学习·前端框架
云边云科技_云网融合3 小时前
企业大模型时代的网络架构五层演进:从连接到智能的范式重构
网络·重构·架构
JYeontu3 小时前
轮播图不够惊艳?试下这个立体卡片轮播图
前端·javascript·css
Yunzenn3 小时前
字节最新研究cola-DLM第 01 章:语言生成的三次范式之争 —— 从 RNN 到 AR 到扩散
架构·github