我开始开发使用spring框架的网站。我有三个控制器。有newCustomerController
,editCustomerController
和deleteCustomerController
。这些控制器映射到视图用于创建更新和删除,但我只创建customer
。
所以,我想知道。像这样声明控制器是合适的。
谢谢
答案 0 :(得分:2)
这个问题的答案是主观的,也许是https://softwareengineering.stackexchange.com/的主题。但是,我想发表一些与之相关的问题。
有一些原则试图指导开发人员在考虑设计类时如何取得良好的平衡。其中之一是Single responsibility principle。
在面向对象编程中,单一责任原则 说每个班级都应该承担一个责任 责任应完全由班级封装。所有的 服务应与该责任严格一致
更有吸引力的解释是
一个类或模块应该只有一个改变的原因。
然而,它仍然经常难以正确地解释它。
尽管如此,Spring为你提供了手段(将这种说法视为诗意的解释自由)。 拥抱基于构造函数的依赖注入。有quite a few reasons为什么你应该考虑基于构造函数的依赖注入,但是与你的问题有关的部分在博客的引用中得到了解释
我得到的一个经常遭遇的争论是:“构造者只是过于冗长 如果我有6或7个依赖项。只有字段,这很好“。 真棒,你有效地解决了一个明确的指标 你写的代码太过分了。数量增加了 一个类型应该受到伤害的依赖关系,因为它会让你思考 是否应该将组件拆分为多个组件。
换句话说,如果你坚持使用基于构造函数的注入,并且你的构造函数变得有点难看,那么该类很可能做得太多而你应该考虑重新设计。
如果您的操作是逻辑整体的一部分(如CRUD操作),它们使用相同的依赖关系(现在通过计数和注入的deps的类型“可测量”)没有明确的想法可以导致操作彼此独立地发展,而不是没有理由拆分成单独的类/组件。
答案 1 :(得分:0)
如果为nums
类定义一个控制器应该更好,在该类中,您应该拥有与客户操作相关的所有方法(编辑,删除,创建和读取)。