最近,我开始编程简单的服务器,该服务器正在接收电子邮件并将其保存到数据库。我想对代码进行拆分以使其更具可读性和可维护性,所以我想出了这样的结构:
class MyEmitter extends EventEmitter {}
const listener = new MyEmitter();
databaseHandlerInit(listener);
emailHandlerInit(listener);
requestsHandlerInit(listener);
数据库处理程序正在连接到数据库,正在保存,修改数据。电子邮件处理程序负责接收和发送电子邮件,请求处理程序是快递服务器。
我很好奇是否将这样的事情视为“不良编程习惯”:
// requestsHandler
router.post("/api", (req, res) => {
listener.emit("doSomethingInDatabase", req, res);
});
Listener正在向databaseHandlerInit
发出一个事件,该事件处理数据库内容。它工作正常,因为侦听器在其本地范围内有猫鼬对象。 emailHandlerInit
的工作方式相同。我觉得可以做得更好,更专业。你有什么想法?