Code:
this.setPaddingHor(5); this.setPaddingVer(5); this.setTitle("Klient"); this.setChild(new jsoox.jwit.Container(4, true)); this.getChild().setFillHor(true); this.getChild().setFillVer(true); this.getChild().setSpacing(5); this.getChild().setChild(new jsoox.jwit.Label(), 0); this.getChild().getChild(0).setFontSize("20px"); this.getChild().getChild(0).setFillHor(true); this.getChild().getChild(0).setCollapseVer(true); this.getChild().getChild(0).setText("TestFirma"); this.getChild().getChild(0).setTextAlign("left"); this.getChild().setChild(new jsoox.jwit.TitlePane(), 1); this.getChild().getChild(1).setTitle("Kontakt"); this.getChild().getChild(1).setFillHor(true); this.getChild().getChild(1).setCollapseVer(true); this.getChild().getChild(1).setChild(new tsm.tos.ContactPane()); this.getChild().getChild(1).getChild().setFillHor(true); this.getChild().getChild(1).getChild().setMarginHor(5); this.getChild().getChild(1).getChild().setMarginVer(5); ...
Code:
this.setPaddingHor(5); this.setPaddingVer(5); this.setTitle("Klient"); var container1 = new jsoox.jwit.Container(4, true) container1.setFillHor(true); container1.setFillVer(true); container1.setSpacing(5); var label1 = new jsoox.jwit.Label(); label1.setFontSize("20px"); label1.setFillHor(true); label1.setCollapseVer(true); label1.setText("TestFirma"); label1.setTextAlign("left"); container1.setChild(label1, 0); var titlePane1 = new jsoox.jwit.TitlePane(); titlePane1.setTitle("Kontakt"); titlePane1.setFillHor(true); titlePane1.setCollapseVer(true); var contactPane1 = new tsm.tos.ContactPane(); contactPane1.setFillHor(true); contactPane1.setMarginHor(5); contactPane1.setMarginVer(5); titlePane1.setChild(contactPane1); container1.setChild(titlePane1, 1); this.setChild(container1); ...
Code:
this .setPaddingHor(5) .setPaddingVer(5) .setTitle("Klient") .setChild(new jsoox.jwit.Container(4, true)) .setFillHor(true) .setFillVer(true) .setSpacing(5) .setChild(new jsoox.jwit.Label(), 0) .setFontSize("20px") .setFillHor(true) .setCollapseVer(true) .setText("TestFirma") .setTextAlign("left") .getParent() .setChild(new jsoox.jwit.TitlePane(), 1) .setTitle("Kontakt") .setFillHor(true) .setCollapseVer(true) .setChild(new tsm.tos.ContactPane()) .setFillHor(true) .setMarginHor(5) .setMarginVer(5) .getParent() .getParent() ...
Heute habe ich durch Zufall gelesen, dass diese Methode schon seit 2005 bekannt ist und auch einen Namen hat: "Fluent Interface". Das ist übrigens ein sehr typisches Problem von mir. Ich schau mich zu wenig um, was es schon gibt. Dann habe ich eine Idee, von der ich selbst ganz begeistert bin, nur um kurze Zeit später festzustellen, dass ich damit viel zu spät komme.
Wem dieser Ansatz gefällt oder bisher auch unbekannt war, der sei herzlich eingeladen, einen Kommentar zu hinterlassen. Was ich davon hab? Na ist doch klar: ich weiß dann wenigstens, dass ich nicht die einzige bin, die bisher noch nie was von Fluent Interfaces gehört hat.
Gruß,
Amica
ja, wenn man mit Mediatorklassen arbeitet, aber das tu ich ja in diesem Fall nicht. Die einfachste Variante (Setter gibt this zurück) reicht mir hier schon aus, um das fluent zu machen, zumal die Reihenfolge unerheblich ist und auch, ob eine Eigenschaft überhaupt gesetzt wird. Also keinerlei Seiteneffekte oder Abhängigkeiten.
Aber dein Generator ist auf jeden Fall einen Blick wert, da ich inzwischen so ziemlich auf den Geschmack gekommen bin und in einem künftigen Projekt mal das volle Programm (mit Mediatorklassen) ausprobieren möchte.
Gruß,
Amica