建立一个ORM并讨论建立者和建设者

时间:2014-03-14 22:04:59

标签: java design-patterns orm builder setter

我正在尝试围绕GlideRecords构建一个ORM。 GlideRecords的格式类似于

var inc = new GlideRecord('incident');
inc.addQuery("foo", "1");
inc.addQuery("bar", "1");
inc.query();

orm的目的是这样的: var inc = new ORM().foo("1").bar("1").query();

我立即决定使用builder pattern实施ORM,但后来意识到我还必须支持update操作。 即

inc.foo("2").update()

现在更新需要我使用setters

所以请帮我从以下选项中选择:

  1. 仅使用setter

  2. 使用构建器和设置器。

2 个答案:

答案 0 :(得分:0)

您还有其他选择。看看这两个接口:

有了这个,如果你做ORM implements Frozen<ORMBuilder>ORMBiilder implements Thawed<ORM>,你可以这样做:

// "orm" is an ORM instance
orm.thaw().foo("2").freeze().update();

基本上,这两个接口允许您从冻结的值中“重建构建器”。

答案 1 :(得分:0)

了解JPA does things如何设置参数。它允许对构建器模式进行方法链接,并且它可以很好地工作。