我的SQL代码应该放在MVC中的哪个位置

时间:2015-04-14 05:30:16

标签: sql model-view-controller go

我刚刚开始学习MVC设计模式,我想知道我的SQL代码应该去哪里。

例如,假设我有一个看起来像这样的注册表单结构

type Form struct {
 Username string
 Password string
}

我假设表单结构是模型的一部分,所以我有一些函数与表单一致,在用户提交表单后,数据被放入数据库,所以我的函数看起来像这样< / p>

func (f *Form) registerUser() {
   // SQL code goes here
}

这是最好的方法吗?我一直在寻找利用MVC模式的开源Golang网络应用程序,但我无法找到一个我完全理解的。

2 个答案:

答案 0 :(得分:3)

在模型 - 视图 - 控制器模式中......

模型适用于所有类的实体代表真实世界的对象。

视图是用户可以查看和交互的表单和所有图形内容。

Controller是控制器类,是程序的所有逻辑,对于sql代码,如你所说,你可以实现一个dao pattern并拥有控制器包中的所有sql代码和实体中的数据库类包(我把它留在Controller类中)。

答案 1 :(得分:0)

  

我假设表单结构是模型的一部分,所以我有一些函数与表单一致,在用户提交表单后,数据被放入数据库,所以我的函数看起来像这样< / p>

MVC应用程序体系结构中Model的另一个用途是存储可重用的代码。所以,是的,您可以将表单存储在模型中(例如,如果您在视图中重复使用多个表单),但这比将表单存储在视图中并稍后重复使用更有意义。

执行回溯类似于

  1. Controller处理请求 - 就个人而言,我在这里执行业务逻辑,并且(如果需要)调用...
  2. 处理从DBMS,验证等所有数据检索的模型,并将处理后的数据返回给Controller和......
  3. 然后显示视图,其中包含相应的参数(用户数据,模板,验证器结果等)。
  4. 用户填写表单并将输入提交给Controller和......
  5. GOTO 1. point