快递中如何组织服务

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

我正在尝试配置快递服务器,并在其中组织项目结构,我读了很多关于如何创建项目的 "防弹 "结构的文章。我读了很多关于如何创建 "防弹 "项目结构的文章。

目前我还停留在服务层,不知道如何组织服务,使其在未来具有可扩展性。

让我来告诉大家我的意思

我希望在我的应用程序中使用会话cookie进行认证。同时,每个用户都有自己的档案,并可以更改他们的任何信息,包括密码、电子邮件等。

目前,我不知道哪些信息是哪些服务的一部分。

它应该是这样的 (端点-> 服务)

/auth/login -> AuthService
/auth/logout -> AuthService
/auth/register -> AuthService

/session/terminate-specific-session -> SessionService
/session/terminate-all-sessions -> SessionService
/session/terminal-all-session-expect-this-one -> SessionService

/user/change-password -> UserService

还是所有这些东西都属于AuthService。我应该把session & authentication分离开来,还是应该把它放在单个服务里面。或者我必须创建一个AccountService,它将负责处理所有账户的东西...... 我真的把事情搞糟了

我想知道你对如何组织服务及其责任的想法。

非常感谢

node.js express
1个回答
2
投票

首先,现在不要想太多,也不要过度设计。 你应该花点时间认真思考你的URL设计,以及你到底想让你的URL的长期性如何,因为那是外界可见的,可能会涉及到很多HTML页面和用户书签之类的东西,而且改起来很麻烦。

但是,你的内部文件布局,如果你将来有一点发展,想改变布局,也不是什么大事。 不到5分钟,你就可以创建一个新的路由器,把以前的文件中的3-5条路由断掉,然后勾入新的路由器。 所以,将来这样的改动很容易,也很简单。

第二,我假设你说的 "服务 "是指路由器或路由器上的一组路由,因为路由器是Express使用的术语(Express根本没有使用服务这个术语)。

第三,我认为一个项目如果一开始就把东西放到无数个小文件里,有无数个小路由器,其实比需要的复杂。 URL的设计需要为未来做规划,但文件的布局不必预料到未来可能发生的每一个变化。

从逻辑上讲,这似乎是 /auth 航线和 /session 路由其实都是关于认证的。 如果你只有几个路由,我会把它们整理成一个文件,因为它们可能共享一些共同的代码和共同的导入,而且可能会使用一个 /auth 路由器和一个 /session 该文件中的路由器。

/user 路由似乎很可能有其他路由相关的是(改变用户偏好之类的东西),所以我可能会把它放在自己的文件和路由器中,然后可以添加其他的 /user 的路线,今后。

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