我正在尝试建立一个关于如何从UI(控制器)层执行查询的约定。以下是我的三个选择:
任何指导或建议都会很棒!
答案 0 :(得分:1)
我倾向于为每个查询使用一个类,因为我发现它有几个优点。每个查询类都更好地遵循单一责任原则,但也更好地遵循开放 - 封闭原则 - 通过添加新代码并在每个查询封装在自己的类中时不更改现有代码,更容易在系统中进行更改。当每个查询都是自己的类时,使用面向方面的技术系统地应用诸如日志记录,授权和缓存等交叉行为也更容易。
有时,我会设计一个带有多个重载的查询类,用于使用不同的参数集调用查询,但是我尝试只在结果在逻辑上相同时才从略微不同的上下文中检索到 - 重载之间的可重用性是一个很好的指示