Odpovídáte na názor ke článku Tvoříme "vláčky" nejen v C++.
V Javě se fluent interface používá při implementaci builder patternu. Co zde bohužel nezaznělo, je to, že hlavní důvod pro jeho použití je postupné vytváření komplexního objektu s velkým množstvím volitelných parametrů/atributů, který ale ve výsledku musí být immutable.
Takový objekt není možné objekt nejprve vyrobit a teprve pak postupně nasetovat (že je zápis builderem kratší je už jenom bonus). Konstruktorem nebo factory metodou by se ten objekt sice vyrobil najednou, ale musely by mít hroznou hromadu argumentů (a pravděpodobně být ještě několikanásobně přetížené), v čemž by se ani prase nevyznalo. Builder tohle krásně řeší.
Příkladem budiž StringBuilder, request a response builder v Jersey, mimo JDK buildery intenzivně využívají třeba chlapci z Guavy.
Order order = webResource
.path("Orders")
.accept(MediaType.APPLICATION_JSON)
.header(API_KEY_NAME, API_KEY)
.header(USER_TOKEN_NAME, userToken)
.get(new GenericType() {});
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 57 605×
Přečteno 27 722×
Přečteno 26 403×
Přečteno 24 367×
Přečteno 22 864×