模式和模型有什么区别?

问题描述 投票:0回答:1

我刚开始吃Phoenix,但我不太了解一件事,我搜索了一下,发现模式是数据库结构,模型具有较高的层次并可以处理逻辑,但是在phoenix中,我们只有模式,因此例如,如果我要进行密码哈希处理,则应在用户模式中进行?还是应该将其放入控制器中?

elixir phoenix-framework
1个回答
0
投票
[通常来说,您希望您的MVC应用具有“薄控制器”-这是一种建议,适用于多种语言。在某些语言/框架中,这很关键,因为测试控制器可能非常困难。尽管在功能语言(如Elixir)和结构良好的框架(如Phoenix)中测试控制器相对简单,但您仍应保持控制器尽可能精简。简而言之,控制器应该将服务模块(在Phoenix中通常称为“上下文”)与视图连接。通常,它们根本没有很多逻辑。

“ Schemas”可能是一个令人困惑的术语-花一点时间来了解不同的数据库使用不同的术语来指代(或多或少)相同的组件。例如。 MySQL中的“数据库”在Oracle或Postgres中称为“模式”。在Ecto中,“模式”类似于许多其他框架中的ORM“模型”:Ecto模式在代码中表示特定数据库表的“形状”(所以也许这就是为什么他们使用相同的术语)。

© www.soinside.com 2019 - 2024. All rights reserved.