项目构建 | 青训营笔记

81 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天

项目构建

今天主要研究了一个项目构建的思维,从一个前后端分离的web项目来举例。 一个web项目后端,是依据前端的请求给出相应的数据。有时候按照前端的数据并不难,但是你的代码要在准确给出数据的前提下,还要简洁、易读且易于维护和更新,就是项目构建的技巧了。

MVC

Model-View-Controller,通常称为 MVC,是一种用于帮助组织和结构化代码的模式。具体来说,大多数代码将被归类为模型,视图或控制器。

视图

视图负责渲染数据。给定我们想要渲染的特定页面以及该页面的数据,我们的视图负责生成正确的输出。如果我们使用 MVC 来实现应用程序,则通常是服务器渲染的 HTML,我们希望将其返回到最终用户的浏览器,但不一定必须如此。我们的视图可以同样轻松地处理 XML、JSON 或其他数据类型的渲染。但是很显然前前后端分离的项目,不存在视图这一说。

控制器

控制器跟管理员相似,负责解析数据交付给其他函数,类型进行处理,不应该包含太多的业务逻辑。

模型

模型是 MVC 的最后一部分,它们的主要职责是与应用程序的数据交互,这通常意味着你要跟数据库、文件等存储数据的外部依赖打交道,也是意味着你要把数据规范化就比如web项目,假如你有一个user用户对象,你就要在这个层抽象出这个对象,并且可以实现一个用户验证等功能,以及对user的增删查改等。

Go语言项目构建的三层架构

前后端分离的web项目大致可以分为这三层:

  1. 数据层Repository:外部数据的增删查改
  2. 逻辑层Service:处理核心的业务逻辑
  3. 视图层View:处理和外部交互的逻辑

如图所示:

image.png

数据层只需要跟存储数据的外部依赖打交道,对数据进行增删查改,与逻辑层无关,而逻辑层运用数据层的方法来处理核心的业务逻辑,所以其依赖于数据层。视图层则是与外部交互,依据外部的需求,选择对应的逻辑,返回相应的数据。

三层架构条理清晰,使得代码更加可观、易理解。