海事组织的建筑商在制造物体时不会形成一种好的信号灯,特别是在论据数量大而且相同的情况下。
new Person(String, String, String, String); // what the?? this is what may
// show up in IDEs
实际指人(第一名、最后名、筛选姓名、密码(例如为了)
正如图象提到的那样,连接链的建筑模式是好的。 另一个advantage with a Buildinger is that, if the Object are immutable, the Buildinger can re the same Object (在这种情况下,只有建筑商才知道有15个动力的一揽子私人建筑商。) 建设者还可以返回它们建造的物体的任何亚类。
你可以采取的另一个办法是使用内部的DSL。 但是,只有当你建造像组合、问询等物体时,才有意义。 参见,如果有一个内部的《家庭法》对你来说是有意义的。
我们的项目也存在同样的问题。 我们必须从家门(家门产品)引出某些价值。 它支持一项请求答复,即基于XML协议的查询。 但是,在《国际不动产合同》中设定发送请求标语是荒谬的,因此设立了附有适当参数和过滤器等的索要信。
最初,我们的请求反对这样做:
Request r = new Request("SET");
r.setAction("add"); // modify, add, delete
r.setModuleName("NPWIFI"):
r.addParameter(new Param("wifiAclMac", "aa:bb:cc:dd:ee:ff"));
r.addParameter(new Param("wifiCommit", "commit"));
r.setActionParam("wifiAclRowStatus")
r.addFilter(new Filter(Type.EQUALS, "wifiInterface", "wl0"));
r.addFilter(new Filter(Type.EQUALS, "wifiAclMac", "yourgateway"));
Resonse r = gwSession.sendRequest(r);
因此,我们把它变成了内部的DSL,它有同样的感觉,但只是方案性的。
Query q = DQL.add("wifiAclMac", "wifiCommit").into("NPWIFI").values
("aa:bb:cc:dd:ee:ff", "commit").withAp("wifiAclRowStatus")
.where("wifiInterface").is("wl0")
.and("wifiAclMac").is("aa:bb:cc:dd:ee:ff").end();
DQL的“建筑商”标的都是经过验证的建筑,也证明是十分方便使用的。
建筑商和DSLs是创造和建造物体的有利而有力的手段,但你认为情况是有意义的。