2015-11-04 76 views
0

将这些术语链接在一起时,我有点困惑。首先,让我解释一下我的这些术语的理解,其次是我的查询:链接MVC术语,前端,后端和数据处理

  • 前端:什么用户看到(HTML,CSS,Javascript代码等)。也可以称为Presentation图层(对应于模板,css文件等)
  • 后端:其余的代码库。

所以,按照我的理解,整个MVC(模型 - 视图 - 控制器)架构将下降Back End下有:

  • 型号充当Data Access
  • 查看充当Applicationlogic
  • 控制器 - 不知道这对应于(我知道这是指在Django的背景下URL映射)

查询:

  1. 我的理解是正确的,还是我试图混淆3-多层架构(数据,应用程序(逻辑),演示文稿)与MVC?
  2. 对于数据层,我通过MVC Web体系结构代码库外部的脚本填充我的数据库。这些脚本在加载到数据库之前获取并处理数据。我应该怎么称呼这些数据提取&处理脚本(根据软件架构术语)?

回答

0

您正在试图采取了很多术语,从软件开发的悠久历史,并进行了简单的连贯统一。大概行不通的真正的好...

前端VS后端通常指的是用户与之对接的事物与后端所指的“其他事物”。但是这里没有强硬的线条。有些人会考虑后台模板,有些人只会考虑数据库的后端......这只是一个术语太过于粗糙,以至于没有多少价值。

你的MVC理解是有点过......

型号绝对是其中的数据访问,通常会出现,但它也有,通常你的应用程序逻辑。这里的想法是,您的应用程序独立于围绕它的Web应用程序而存在。

该视图应该只有演示文稿和数据输入。它不应该包含重要的应用程序或业务逻辑。您希望尽可能多地将其转换为模型。一些逻辑不可避免地会流血,但它应该被最小化。

控制器是模型和视图之间的接口。它是从视图中接受输入的粘合剂,将其传递给模型,业务逻辑作用于该模型。根据模型控制人员的责任,将数据提供给视图。

最后,加载数据库的脚本与您的Web应用程序体系结构正交。他们听起来像ETL脚本,但我必须知道更多关于他们将它们放在您的架构。

+0

感谢罗布的答案。我有几个后续步骤根据如何在django中分发文件:1)models.py仅包含数据库结构和数据修改功能2)views.py包含主应用程序和表示逻辑 - 也许我可以将其解耦两个:logic.py(用于逻辑)和views.py(用于演示)。 –

+0

我想到了ETL,但我不确定我会将这些脚本归类为ETL。让我给你更多关于这些脚本的信息:假设我正在构建一个金融分析网站。这些数据脚本提取数据,在数据上运行几个模型以分配不同类型的概率/分类等(基本上更多的是数据处理而不是转换),然后将这些高度“丰富”的数据加载到数据库中。 –

+0

我仍然称之为ETL。 “转型”是一个广泛的范畴。 –