Problém je v tom, že "elegantnější" řešení (ty uvozovky naznačují, že v Javě to zas tak elegantní nebude, viz příklad s Visitorem) zase porušují oddělení vrstev. Takže je otázka, co je horší - zda mít kód složitější, ale na jednom místě, nebo roztahaný bůhvíkde? A když tam máte EJB, tak jste.... ve špatné situaci.
Ještě by tu bylo možnost oddělit všechnu společnou funkcionalitu do jedné abstraktní třídy a pak dva potomky. Implementaci pak přepínat parametrem. To by se potom dalo refaktorovat jako kompozice. Kamil Podlešák 2010/7/19 Oto Buchta <ta...@buchtovi.cz>: > Dne 19. července 2010 12:28 Kamil Podlesak <kamil.podle...@gmail.com> > napsal(a): >> Zdravím, >> >> Já bych považoval variantu d) za nejlepší a ani mi nepřijde tak strašná. >> Sice se pak jeden kód používá k dvěma věcem, ale to je IMHO docela >> slabá námitka - pokud jsou tyto dvě věci poměrně silně svázány (pokud >> to dobře chápu, jsou ta společná data a společný algoritmus výběru >> dat) a jejich rozdělení by zhoršilo výkon, tak bych to vůbec neřešil. >> >> Kamil Podlešák > > Jenomže je to prznění kódu a kód přestává být čitelný. V jednu chvili > chci zjistit vysledky vyhledavani +aktualni stav v case t a v druhou > chvili statistiku historie tehoz... > > -- > Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com >