CRUD 有哪些好的设计模式? [关闭]

2024-02-19

我正在处理许多可以创建、读取、更新和删除的数据实体,我发现自己为它们编写了或多或少相同的代码。例如,我有时需要将数据输出为 JSON,有时需要以表格格式输出。我发现自己编写了两种不同类型的视图来导出数据。此外,数据库中这些实体的创建通常仅在 SQL 语句和输入参数方面有所不同。

我正在考虑创建一个策略模式来代表不同的“上下文”。例如,AJAX 上下文的 read() 方法将以 JSON 形式返回数据。但是,我想知道其他人是否事先处理过这个问题,并且想知道 CRUD 操作通常使用哪些设计模式。

编辑:需要注意的是,有时复合实体被用来组成一个完整的实体;例如,一个位置可以有许多描述,每个描述对应一种受支持的语言。


CRUD 不存在单一的模式,有许多重叠/竞争的模式。这些 CRUD 模式的最佳来源之一是:

Martin Fowler 的企业应用程序架构模式 http://martinfowler.com/eaaCatalog/

一般来说,解决这个特定问题的最佳方法是使用 ORM(假设有一个关系数据存储,在这种情况下这似乎是一个安全的假设):

http://en.wikipedia.org/wiki/Object-relational_mapping http://en.wikipedia.org/wiki/Object-relational_mapping

至于通过视图公开对象,也有一些框架可以帮助实现这一点,但这些框架特定于您的编码环境,而您没有指定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CRUD 有哪些好的设计模式? [关闭] 的相关文章

  • tbb:并行查找第一个元素

    我遇到了这个问题 查找列表中满足给定条件的第一个元素 不幸的是 该列表相当长 100 000 个元素 并且使用单个线程评估每个元素的条件总共需要大约 30 秒 有没有办法干净地并行化这个问题 我浏览了所有tbb模式 但找不到任何合适的 UP
  • 如何将 SOLID 原则应用到现有项目中

    我对这个问题的主观性表示歉意 但我有点卡住了 我希望之前处理过这个问题的人能够提供一些指导和建议 我有 现在已经成为 一个用 C 2 0 编写的非常大的 RESTful API 项目 并且我的一些类已经变得巨大 我的主要 API 类就是一个
  • 领域驱动设计和工厂类的作用

    我不清楚工厂类的角色和职责是什么 我知道工厂类应该负责创建域对象 聚合根 及其关联的实体和值对象 但我不清楚 DDD 架构的工厂 层 在哪里 工厂应该直接调用存储库来获取其数据还是服务库 工厂在以下框架中的位置 UI gt 应用程序 gt
  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • 这个单例能够抵抗序列化和反射攻击吗?

    以下代码是否能够抵抗序列化和反射攻击 public class Example private static Example instance new Example private Example public static Exampl
  • 具有线程安全性的 eventbus 最佳实践

    我的应用程序具有用户交互活动和后台服务 这是修改数据模型的唯一地方 后台服务监听用户所做的操作以及来自网络的传入消息 因此 可能会出现并发问题 我尝试使用处理程序来防止这些问题 对于事件层 我使用 greenrobots Eventbus
  • F#:模式构成?

    我正在尝试编写一个由另外两个模式组成的模式 但我不确定如何去做 我的输入是字符串列表 文档 我有一个与文档标题匹配的模式和一个与文档正文匹配的模式 该模式应该匹配整个文档并返回标题和正文模式的结果 您可以使用以下命令一起运行两个模式 您在问
  • 根据维基百科,为什么“call super”被视为反模式? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用策略和工厂模式进行依赖注入

    我正在开展一个业余项目 以更好地理解控制反转和依赖注入以及不同的设计模式 我想知道是否有将 DI 与工厂和策略模式结合使用的最佳实践 当策略 从工厂构建 需要每个可能的构造函数和实现不同的参数时 我面临的挑战就出现了 因此 我发现自己在服务
  • 带双重检查锁的单例设计模式

    假设您有以下代码 1 为什么我们使用双重检查锁 为什么单锁不够好 请提供详细的例子 2 这种实施方式的主要缺点是什么 我该如何证明呢 Thanks public sealed class SomeSingleton5 private sta
  • 用于将 cython 中的许多 C++ 类包装到单个共享对象的项目结构

    我在文档 邮件列表和这个问题在这里 https stackoverflow com questions 10300660 cython and distutils 但我想得到一个更直接的答案来解决我的具体情况 我正在通过尝试一点一点地包装我
  • 用于在运行时使用附加信息增强 Java 中现有数据结构的设计模式

    我将从一个小例子开始 想象一个具有几个实体的应用程序 实体A 1 n gt 实体B 1 n gt 实体C 假设我们有一个返回 EnityC 实例列表的服务方法 在 UI 中 我们想要显示 EntityC 但也向仅与 UI 相关的实体添加一些
  • 纠正装饰器模式的一个大缺点

    不久前 我在重构一些游戏战斗代码时决定尝试装饰器模式 战斗者可以拥有各种被动能力 也可能是不同类型的生物 我认为装饰器可以让我在运行时以各种组合添加行为 因此我不需要数百个子类 我几乎已经完成了 15 个左右的被动能力装饰器 在测试中我发现
  • 确定一组日期的事件重复模式

    我正在寻找一种模式 算法或库 它将采用一组日期并在退出时返回重复的描述 即集合 11 01 2010 11 08 2010 11 15 2010 11 22 2010 11 29 2010 会产生类似 十一月的每个星期一 的结果 有没有人以
  • 在 PHP 应用程序中实现插件的设计模式

    对于如何在 PHP 应用程序中实现插件有共识吗 我已经调查过观察者模式 http devzone zend com 1732 implementing the observer pattern with splobserver and sp
  • 处理算法中的问题/错误的推荐方法

    将堆栈跟踪排除在外 可以说 错误 的想法是一个您不希望发生但确实发生的问题 如果我使用布尔系统来检查操作是否成功完成 它将如下所示 String array new String 10 int i 0 public boolean acce
  • Java - 创建对同一对象的两个引用

    检查以下代码 Object object new Object objectList add object objectListTwo add object 有什么方法可以让两个数组指向同一个对象 这样当我改变时object在一个数组中 它
  • 复合模式/实体系统与传统OOP

    我正在开发一个用 Java 编写的小游戏 但问题与语言无关 由于我想探索各种设计模式 所以我迷上了复合图案 http en wikipedia org wiki Composite pattern 实体系统 我最初读到的here http
  • 您最好的 Swing 设计模式和技巧是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 工厂模式数据库连接

    我正在尝试使用 MySQL 实现数据库连接上的工厂模式 SQL Server 面临奇怪的错误 你调用的对象是空的 在 SQL 命令对象上 internal class SqlServerDB IDatabase private SqlCon

随机推荐