Komentáře k článku

Návrhové principy: SOLID

V současné době jsou stále populárnější návrhové vzory, které nám ukazují, jak řešit typické problémy při návrhu software v objektově orientovaných jazycích. Návrhové vzory jsou však jen konkrétní aplikace hlubších principů, na kterých by měl být objektově orientovaný návrh založen. Tento článek má za úkol čtenáře stručně seznámit s návrhovými principy SOLID, které formuloval Robert „Uncle Bob“ C. Martin.

Zpět na článek

10 komentářů k článku Návrhové principy: SOLID:

  1. Lukas

    Re: Návrhové principy: SOLID

    Dobry clanek
    Pred rokem bych nerekl ze se budu na zdrojak chodit s tim ze se na nem dozvim neco uzitecneho. Jen tak dal

  2. reflex

    Re: Návrhové principy: SOLID

    Dobry clanek, pouze bych u odbornych vyrazu zminil i slovicko v anglictine, ktere je rozhodne vice zazite nez jeho cesky prepis

  3. ufak

    nepiste o me

    Díky za připomenutí. Neustále zapomínám rozdělit odpovědnost do tříd a vyrábím hybridky a pak mám chaos i v hlavě a nakonec to stejně rozdělím.

  4. Radek Miček

    Re: Návrhové principy: SOLID

    K 3): Je rozdíl mezi podtypem a podtřídou, a pokud vím, tak LSP definuje pojem podtyp. Problém s LSP je v tom, že se substituovatelnost těžko ověřuje (je ekvivalentní HP) a snadno poruší třeba při úpravě nadtřídy. Lze však formulovat omezení pro nadtřídy tak, že podtřídy pak budou automaticky podtypy. Tato omezení budou závislá na programovacím jazyce, kde pro běžně používané OO jazyky bude IMO dostačovat: žádné virtuální metody, žádná mutace dat, žádné veřejně přístupné členské funkce (tj. pouze private funkce) a zbytek kódu by samozřejmě neměl být schopen rozlišit typ pomocí mechanizmů jako je reflexe apod.

    1. Ladislav Thon

      Re: Návrhové principy: SOLID

      LSP se dá formulovat i takhle: podtřídy musí být podtypy.

      (V kontextu téhle diskuse je zajímavé, že zrovna Eiffel snadno umožňuje tohle pravidlo porušit, protože parametry metod jsou kovariantní :-) )

  5. eif

    Eiffel

    Myslenka Design by Contract je nejlepe implementovana v Eiffelu, odkud pochazi a kde hraje klicovou ulohu.

    Jenom skoda, ze Eiffel moc lidi nezna, vidim jej jako idealni prostredek pro vyuku OOP, byt treba pak nakonec clovek dela v Jave. Clovek si proste z Eiffelu odnese uzitecne navyky …

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3653