zoukankan      html  css  js  c++  java
  • 架构设计小思

    架构设计小思

    现在做系统越来越倾向于把系统与外界的交互设计的很薄,和封装一层很薄的一层

    为什么呢?

    因为你的系统与外界交互的部分变化的最快,如: 一个网站中 controller层,还有一个mvvm 的 v和vm 层。

    下面是我自己的原则:

    controller 只会跟 http 有关的东西进行处理 ,严禁把 res, req 对像以任何行式传入 service。

    controller 会对 http 方法的请求参数,cookie, session, template, redirect, 进行调用,而在 service 不能有任何调用。

    而在前后端分离的项目中,还会有一个 api 层进行接口的调用,如果是数据库,则 model 是直接返回数据库中的数据,不需要进行处理。

    mvvm 框架如 vue 中,由于界面的交互操作对象的数据模型,与后端接口的模型不一致,多出了一个 vm。vm 与 m,还要实现双向互转,vm => m,还有 m => vm ,这样中间就需要一个转化层。

    因此在 vue 中,我会写一个 api 层专门调用接口,而 service 则专门进行 vm与m 的互转, vue 中的 method 则调用 service 进行转换,并对 vm 进行操作。

    service 代码的多少,是接口有多不匹配 vm 决定的。越不匹配,service 的代码会越多。

  • 相关阅读:
    Detect Capital
    Maximum Depth of Binary Tree
    Max Consecutive Ones
    Single Number
    Nim Game
    Longest Uncommon Subsequence I
    Average of Levels in Binary Tree
    Next Greater Element I
    Island Perimeter
    Fizz Buzz
  • 原文地址:https://www.cnblogs.com/htoooth/p/8677555.html
Copyright © 2011-2022 走看看