美文网首页
《全栈工程师修炼指南》学习笔记 5

《全栈工程师修炼指南》学习笔记 5

作者: VioletJack | 来源:发表于2023-01-02 18:19 被阅读0次

Model

  • 模型是什么?模型就是当我们使用软件去解决真实世界中各种实际问题的时候,对那些我们关心的实际事物的抽象和简化。

  • 领域模型:我们会更关注这个领域范围内各个模型实体之间的关系。

  • 模型可以是抽象的对象定义,也可以是具体的业务数据承载。

  • 贫血模型:意味着模型实体在设计和实现上,很少包含逻辑。逻辑写在了相关的 Service 中。

    • 所以更像是一定规则的封装容器。
    • 数据与行为存在了 model 和 service 两处。
    • service 代码会暴露 model 的行为,可能会因为滥用接口导致状态不一致。
    • 其实封装了一个类似 Java Bean 的对象,只有定义以及 setter 和 getter。
  • 充血模型:模型既包含数据、也包含逻辑,具有更高程度的完备性和自洽性。

    • 更加面向对象,可以充分描述一种实体
    • 封装性更好
  • model 层次划分:软件的耦合与复杂性问题往往可以通过分层解决。不过需要掌握分层的度。

  • 在 CORS 模式下,模型层的接口只分为两种

    • 命令,本身不返回任何结果,但会改变数据的状态。命令状态一定是不安全的。
    • 查询,返回结果,但不会改变数据的状态。查询状态一定是安全的。
      PS:其实像 vuex 这类状态管理库就是用的 CORS 模式。
  • 在 MVC 中的 CORS 模式

    • controller 通过命令调用 model 层,执行写入操作。
    • view 通过查询调用 model 层,执行查询操作。
  • 在 Model 层我们要经常与 SQL 打交道,需要有一定的 SQL 知识。

相关文章

网友评论

      本文标题:《全栈工程师修炼指南》学习笔记 5

      本文链接:https://www.haomeiwen.com/subject/edckcdtx.html