我正在处理许多可以创建、读取、更新和删除的数据实体,我发现自己为它们编写了或多或少相同的代码。例如,我有时需要将数据输出为 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(使用前将#替换为@)