Programuje někdo Fluent API ? rubrika: Programování: Java

3 jan.flos
položil/-a 27.5.2014

V mnoha frameworcích (Mockito, JUnit, CriteriaAPI, Google Guice, Google Guava, Apache Commons), jsem našel způsob psaní API ve stylu Fluent.
Prakticky to umožnuje vytvořit rádoby doménový jazyk v Javě. Má s tím někdo zkušenosti? Pokoušel jste se někdo tuto možnost využít ? Nebo je to spíš na škodu věci ?

Popis psaní Fluent-API
http://java.dzone.com/articles/java-fluent-api-designer-crash

odkaz
8 siq
odpověděl/-a 27.5.2014

V mojej terajsej praci to pouzivame hlavne na rozne buildery, a na spustanie multivlaknovych uloh, nieco v tomto style(pseudokod):

// responseBuilder je autowirenuty resource zo Springu
SomeTask task1 = TaskBuilder.createTask().with(taskParameter1);
SomeOtherTask task2 = TaskBuilder.ceateTask().with(taskParameter2);
DifferentTask task3 = TaskBuilder.createTask().with(taskParameter3);
 
after(task1, task2, task3)
  .createResponse(responseBuilder)
  .with(parameter1, parameter2, parameter3)
  .compose();

Ide o to, ze v roznych castiach aplikacie potrebujeme agregovat data z roznych sluzieb. Tento kod spusti 3 tasky paralelne, a po ich dokonceni zavola metodu compose z triedy ResponseBuilder s tromi parametrami.
Proble je, ze ak sa fluent API prilis rozrastie, tak zacina problem hlavne so zaucanim novych programatorov. Podla mojho nazoru je dost tazke urobit k fluent API dobru a prehladnu dokumentaciu. Tento nazor ale moze vyplyvat aj z toho, ze v tejto oblasti nemam este prilis vela skusenosti.
Vo vseobecnosti je to ale velmi silny pomocnik.

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.