我正在尝试围绕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
所以请帮我从以下选项中选择:
仅使用setter
使用构建器和设置器。
答案 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如何设置参数。它允许对构建器模式进行方法链接,并且它可以很好地工作。