拉風的咖菲貓
2022-12-18 16:04:18
背景信息:我正在嘗試使用單獨的 Controller、Service 和 Dao 層來實現我的服務器。我不確定應該如何組織服務層模塊。例如,讓我們考慮一個UserService模塊,它是服務層模塊中的子模塊。但是,我不想創建單個UserService文件,而是將其分成單獨的文件,例如,一個FetchUsers類是用戶服務的一部分,并且將具有不同的獲取用戶的方法,filterBySomething(params)其中也包括一些業務邏輯,所以他們需要在服務層。如果我不將“UserService”劃分為單獨的模塊,那么單個模塊中的內容就會過多,并且也會違反 SRP。問題:我可以想到兩種實現此目的的方法,哪種更好?如果有比這兩種更好的方法,或者我不應該嘗試實現這一點,請提出替代方案。方法一:- services - user - index.js - directly exports modules inside user service - FetchUser - CreateUserThe index.js will do something like this:FetchUser = require('./FetchUser');module.exports = { FetchUser: FetchUser}Controller will use it as:UserService.FetchUser.filterBySomething()方法二:- services - user - index.js - exports methods of individual modules, not the modules themselves - FetchUser - CreateUserThe index.js will do something like this:FetchUser = require('./FetchUser');module.exports = { filterBySomething: FetchUser.filterBySomething}Controller will use it as:UserService.filterBySomething()方法 1 看起來它沒有足夠的封裝。方法 2 有很好的封裝,但它需要我在用戶服務中維護 index.js 每當我想從任何文件中添加/刪除任何內容時。
1 回答
添加回答
舉報
0/150
提交
取消