浅谈前端架构

108 阅读3分钟

1. MVC(Model-View-Controller):

  • 模型(Model): 负责处理数据逻辑,与数据的增删改查相关。
  • 视图(View): 负责用户界面展示,通常是HTML、CSS和部分JavaScript。
  • 控制器(Controller): 处理用户输入,更新模型和视图。负责协调模型和视图之间的交互。

2. MVVM(Model-View-ViewModel):

  • 模型(Model): 与MVC中的模型类似,处理应用的业务逻辑和数据。
  • 视图(View): 用户界面的展示,与用户交互。
  • 视图模型(ViewModel): 通过数据绑定将视图和模型连接起来,负责处理视图和模型之间的通信。

3. Flux架构:

  • Action: 用户在视图上的操作,会触发相应的Action。
  • Dispatcher: 负责将Action分发给Store。
  • Store: 存储应用的状态和逻辑,接收Dispatcher分发的Action,并触发View更新。
  • View: 用户界面,根据Store的状态更新自身。

4. Redux:

  • Action: 描述发生了什么事情的纯对象,是改变状态的唯一途径。
  • Reducer: 描述如何改变状态,根据Action生成新的状态。
  • Store: 存储应用的状态,提供getState、dispatch和subscribe等方法。
  • View(React组件): 通过connect函数连接到Store,根据状态更新自身。

5. 微前端架构:

  • 微服务: 将前端应用拆分为独立的、可独立开发和部署的微服务。
  • 主应用: 整合和协调各个微服务,负责路由和通信。
  • 独立部署: 每个微服务都可以独立部署,不影响其他微服务的运行。

6. 组件化架构:

  • 组件(Component): 小型、独立的可复用单元,包含HTML、CSS和JavaScript。
  • Props和State: 通过Props和State来管理组件的输入和状态。
  • 生命周期方法: 组件的创建、更新和销毁过程中的方法,用于执行相应的逻辑。

7. 服务端渲染(SSR)和客户端渲染(CSR):

  • SSR: 在服务器端生成完整的HTML,提高首屏加载速度和SEO。
  • CSR: 在客户端通过JavaScript渲染页面,提高应用的交互性。

8. PWA(Progressive Web App):

  • 离线访问: 使用Service Worker缓存资源,使应用在离线状态下仍可访问。
  • 推送通知: 允许应用发送推送通知,增强用户体验。
  • Web App Manifest: 提供Web应用的元数据,使应用可以像原生应用一样被添加到主屏幕。

9. GraphQL:

  • 查询语言: 定义前端需要的数据结构,减少不必要的数据传输。
  • 类型系统: 使用类型定义来约束和描述数据,提高通信效率。
  • 单一端点: 所有的数据请求都通过一个端点处理,简化数据获取流程。

10. Web组件:

  • 自定义元素: 使用<template>和自定义元素(<my-component>)创建独立的组件。
  • Shadow DOM: 将组件的样式和逻辑隔离,防止样式污染。
  • HTML模板: 使用<slot><template>标签构建可复用的HTML结构。

这些详细的解释提供了每种前端架构的基本概念和组成部分,以便更好地理解和选择适合特定项目的架构。