// 查询分类下面的管理员Route::get('infoCategories/{infoCategory}/admins', [InfoCategoryController::class, 'admins'])->name('infoCategories.admins');
我这个路由是查询某个分类下面的管理员,我的代码结构是控制器不负责业务逻辑,业务逻辑都写到service里面,小弟目前有几个疑问
1.查询分类下面的管理员,我是应该写到Category Service里面还是应该写到Admin Service里面呢。根据语义【分类下的管理员】,好像应该写到Category Service,但是又考虑到最终取的数据实体是admin,那又好像写到Admin Service符合一点
2.我的业务系统有两个地方用到管理员列表(admins list),有一个地方是列表页筛选管理员的那种,返回全部管理员给前端。第二个地方是,根据分类返回管理员列表。
2.1.那是应该创建一个路由```admin/list```,如果第一个地方那种,那么就平时那样返回,如果是第二个地方那种,就叫前端传一个category_id参数上来,我识别到有这个参数传上来就筛选仅仅是这个category的admins才返回给前端。2.2还是创建两个路由,一个是```admin/list```处理第一种情况,另一个是```categories/{infoCategory}/admins```处理第二种情况。假设还有要查询栏目下面的管理员,就再开一个路由```lanmu/{lanmu}/admins```去处理呢
我已经
根据模型来分吧, 如果你的 Admin
模型中有个 category
字段, 那就使用 AdminService
, 路由使用 admins?category=xx
这种。
1. 查询分类下面的管理员,应该写在哪个 Service 里面?
根据你描述的语义,"分类下的管理员",应该写在 Category Service
里面。因为你要查询的是某个分类下的管理员,而不是直接查询管理员。Category Service
负责处理与分类相关的业务逻辑,因此在这个 Service 中查询分类下的管理员是合适的。
2. 业务系统有两个地方用到管理员列表,应该如何设计路由?
根据你的描述,第一个地方是返回全部管理员列表给前端,第二个地方是返回某个分类下的管理员列表。对于这种情况,建议创建两个路由:
admin/list
。在这个路由中,你可以直接返回管理员列表给前端,不需要额外的参数。categories/{infoCategory}/admins
。在这个路由中,你可以通过 infoCategory
参数来获取特定分类下的管理员列表。这样设计的好处是,路由更加清晰,易于理解和使用。同时,通过不同的路由处理不同的业务逻辑,可以提高代码的可维护性和可扩展性。
总结起来,你的代码结构可以按照以下方式规划:
Category Service
中查询分类下的管理员列表。Twitter Java Style Guide Google Java Style Guide 阿里巴巴Java开发手册
我们的代码必须尽可能的清晰和易读。 这实际上是一种编程艺术 —— 以一种正确并且人们易读的方式编码来完成一个复杂的任务。一个良好的代码风格大大有助于实现这一点。 语法 下面是一个备忘单,其中列出了一些建议的规则(详情请参阅下文): <!-- ```js function pow(x, n) { let result = 1; for (let i = 0; i < n; i++) { result
代码风格 必须 严格遵循 PSR-2 规范。
空白 每行不能超出99个字符。 缩进只用空格,不用TAB。 行和文件末尾不要有空白。 空格 二元运算符左右加空格,包括属性里的等号: #[deprecated = "Use `bar` instead."] fn foo(a: usize, b: usize) -> usize { a + b } 在分号和逗号后面加空格: fn foo(a: Bar); MyStruct { foo: 3
PHP 社区百花齐放,拥有大量的函数库、框架和组件。PHP 开发者通常会在自己的项目中使用若干个外部库,因此 PHP 代码遵循(尽可能接近)同一个代码风格就非常重要,这让开发者可以轻松地将多个代码库整合到自己的项目中。 框架互操作标准组 提出并通过了一系列的编码风格建议。其中有部分是关于代码风格的,即 PSR-0、PSR-1、PSR-2 和 PSR-4。这些建议只是一些正在被开源项目所遵循的规则,
Codeing Standard freeRTOS的源代码符合MISRA编码标准,这个编码标准老长了,而且想要得到这玩意还有向MISRA付一点点小钱,所以下面只复制了一小部分。 脱离MISRA标准的部分: 两个API有多余一个出口。在这两种情况下,出于对临界效率的原因,同标准的偏差是允许的 当在创建任务的时候,源代码在为任务创建堆栈的时候,需要操作内存去定位起始与结束地址,因为源代码需要在所有支持