我正在设计一个系统,在其中我必须在系统实体之间执行几个CRUD操作。只是为了确保我在论坛上搜索,看看它是如何被别人解决的。
我发现了4种“模式”。它们在读操作中都是一致的,所以我跳过它们。我将定义模式:
模式1
void add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);模式2
E create(<ListOfEntityProperties>);
void update(E entity);
// Read operations...
void delete(E entity);模式3
boolean add(E entity);
boolean update(E entity);
// Read operations...
boolean delete(E entity);模式4
E add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);我不明白每一种方法的优缺点(而且没有人解释)。每一种“模式”之间有什么区别?使用什么标准?有人能证明什么时候使用这种或那种方式(或者给我另一个想法)是合理的吗?
提前谢谢你的回答
发布于 2016-04-17 01:05:09
例如,以模式3为例,您可以使用布尔值来判断某个内容是否成功地被删除或添加。删除的大小写是可以的,但是对于添加或更新的情况,您可能希望对象返回一个分配给数据库的id,该id看起来类似于模式4。
如果您想对插入对象进行批处理,那么这就是模式2。
如果您不期望从CRUD操作返回任何内容,那么就让方法void。
您希望返回的值是重要的部分,“模式”并不那么重要,它们完全依赖于底层API的使用。例如,Server插入操作可能返回插入对象的行ID。在这种情况下,您可以只返回ID或作为参数传递的相同对象,但其ID字段设置。
发布于 2016-04-19 18:05:45
只要问一句,你为什么要写\设计你自己的实现。为此,我使用了java-ee注释。
参考资料:https://docs.oracle.com/javaee/6/api/javax/ws/rs/package-summary.html http://www.techferry.com/articles/RESTful-web-services-JAX-RS-annotations.html
您也可以引用它们的实现。
https://stackoverflow.com/questions/36665166
复制相似问题