Trosku to mate pomylene a velmi ste si o vzoroch necitali. Vzory nie su od toho, aby suplovali prikazy, alebo napomahali zlym rieseniam. Taketo vase "vzory" s goto by boli ihned zavrhnute.
To ani nie je mozne nazvat vzorom, taku hlupost by ste pomocou pattern language ani neopisali.
Potiz je, ze ty se na to divas optikou dnesnich jazyku. Abys pochopil co rikam, musis se podivat na tu vec v historicke perspektive. Je to jako s evoluci, taky neni intuitivni, kdyz se divas jen na to, co je ted.
Ja obcas (stare) programy v assembleru ctu a pisu. Takze, naprosto dobre vim, ze kdyz s takovym programem pracuji, pouzivam interne v hlave neco jako "GOTO patterns". A pokud ten program je zapsan nejak nestandardne, napr. se tam skace dovnitr smycky, nebo se tam prekryvaji dve smycky, je pro me narocnejsi ten program pochopit, protoze si ho nemuzu vysvetlit ve standardnich konceptech. A naopak, kdyz program pisu, uvazuji v terminech jako smycka a podmineny prikaz. Je to nachlup stejna situace jako u navrhovych vzoru v OOP.
A vidis, co se stalo. Nakonec lide zacali ty koncepty (idiomy) primo zapisovat (pomoci prikazu), misto aby je donekonecna prekladali do kodu rucne. To same se bude muset eventualne stat i s navrhovymi vzory. Ja bych mohl uplne stejne rict, ze Strategy pattern je blbost, protoze v FP proste predavame funkci, hotovo dvacet. (Jak uz jsem ukazal vys.)
(Sranda je, ze v assembleru, co pouzivam, nekteri lide pouzivaji specialni makra pro if, while apod., ale ja se jim vyhybam, protoze mi to prijde mene citelne. Takze svym zpusobem chapu odpor nadsencu pro design patterns vuci jejich konceptualizaci v jazyce.)
Vzory su od toho, aby sa z nich casom stali idiomy avsak opisuju inteligentne riesenia. OOP vzory su v aspektotovo-orientovanom programovani idiomy. AOP sa da realizovat aj miernym pozmenenim funkcionalneho. Jediny problem, ze funkcionalnemu programovaniu aj s AOP podivnost stale zostava aj jeho priaznivci su nadalej nieco ako crossfit-vegani.
Hm, AOP.. je to sice hezke, ale asi to bude slepa evolucni vetev OOP. Taky se mi to jeden cas libilo, ale potiz je, ze to neni moc dobre formalne ukotvene (narozdil od FP, ktere ma pevne formalni zaklady v lambda kalkulu(ech)). To je ostatne i problem s OOP.