你好,我是七牛云许式伟。
在上一章,我们实现了一个 mock 版本的服务端,代码如下:
接下来我们将一步步迭代,把它变成一个产品级的服务端程序。
我们之前已经提到,服务端程序的业务逻辑被分为两层:底层是业务逻辑的实现层,通常我们有意识地把它组织为一颗 DOM 树。上层则是 RESTful API 层,它负责接收用户的网络请求,并转为对底层 DOM 树的方法调用。
这一讲我们关注的是底层的业务逻辑实现层。
使用界面(接口)
我们先看下这一层的使用界面(接口)。从 DOM 树的角度来说,在这一讲之前,它的逻辑结构如下:
<Drawing1>
<Shape11>
...
<Shape1M>
...
<DrawingN>
从大的层次结构来说只有三层:
Document => Drawing => Shape
那么,在引入多租户(即多用户,每个用户有自己的 uid)之后的 DOM 树,会发生什么样的变化?
比如我们是否应该把它变成四层:
Document => User => Drawing => Shape
<User1>
<Drawing11>
<Shape111>
...
<Shape11M>
...
<Drawing1N>
...
<UserK>