Zdroje k rozvoji OOP myšlení

Ran

Zdroje k rozvoji OOP myšlení
« kdy: 15. 08. 2016, 11:50:56 »
Ahojte,

hledám nějaké vhodné zdroje k rozvoji OO myšlení... Nechci žádný flame jestli je lepší funkcionální nebo OO paradigma.
Celkem mě zaujali talky od Sandi Metz, která má dlouholeté zkušenosti ze smalltalku (aktuálně přednáší v souvislosti s Ruby, ale jazyk nehraje roli...)

Četl jsem Gang of Four, ale spíše by mě zajímali nějaké "reálnější" příklady toho jak se na architekturu dívat. Celkově se mi zdá, že všichni v mém okolí používají procedurální postupy obalené do tříd na místo modulů.

No pokud někoho něco napadne, tak budu rád.

Díky
« Poslední změna: 15. 08. 2016, 12:34:50 od Petr Krčmář »


Youda

Re:OOP - zdroje
« Odpověď #1 kdy: 15. 08. 2016, 12:20:09 »
Pokud jsi precetl a pochopil GoF, umis dost.

Nejhorsi co muzes udelat, je snazit se puristicky cpat OOP prvky do kodu, jenom proto, ze je to OOP.

Slesky rozum.

To co chces je kod bez spaget, ktery dokaze precist i clovek co s danym jazykem primo nedela a zna zaklady C, co se da snadno testovat - takze rozsekat do pomerne malych self contained classes, zadne obri obludy. Boilerplate vubec nevadi, pokud zvysuje citelnost, stejne to generuje IDE.
Nejhorsi jsou krypticke zapisy, ktere nejaky idiot, hrdy, ze zna kazdou kravinu jazyka, pouzije.

Treba perl je v tom slavny, neco ve stylu $_->$@["nasr*at"] = 'a rozmazat';

Obecne kazdy nastroj ma smysl pouzit tam, kde smysl dava. Osobne jsem v Jave uz dloooouho nepouzil dedeni (pouze interfaces) ani treba anonymous classes.

Dale plati, use google, Luke. Hromadu veci uz nekdo neky resil a na stackoverflow je hromada velmi kvalitni inspirace.

Re:OOP - zdroje
« Odpověď #2 kdy: 15. 08. 2016, 13:06:29 »
...
Slesky rozum.
...

Tak hlavně ten slesky rozum.
Baňýk, p...!

Podle toho GoF soudím, že třeba takový Eckel už je pasé.
https://en.wikipedia.org/wiki/Bruce_Eckel

Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #3 kdy: 15. 08. 2016, 13:31:21 »
Na rozvoj OOP se hodí Robert C. Martin a jeho kniha Clean Code.

Ran

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #4 kdy: 15. 08. 2016, 13:46:48 »
Eckel mi přiznám se nic neříká. Nikdy jsem se nijak zvlášť nesetkal s C++, tak asi proto. Podívám se na něketeré knihy od něj.

Clean Code mám aktuálně rozečtený.

Selský rozum je určitě potřeba, ale když už se mi na x-tém místě opakuje ta stejná podmínka, tak si říkám, že je asi něco špatně...

Za nepoužívání/zneužívání dědičnosti palec nahoru.


Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #5 kdy: 15. 08. 2016, 14:22:50 »
Bruce Eckel napsal dobrou knihu Thinking in Java, u kterých se prvních cca 100 stránek věnuje právě OOP.

Když se někde vyskytne nějaká podmínka, která má jiný účel než integritní omezení dat, tak je to vždy k zamyšlení, zda raději nepoužít polymorfismus.

Dědičnost má smysl, pokud dodržíš LSP.

balki

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #6 kdy: 15. 08. 2016, 15:47:20 »
"Refactoring: Improving the Design of Existing Code od M.fowlera"   je podla mna tiez sucast povinnej jazdy, co sa tyka oop.

Honza

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #7 kdy: 15. 08. 2016, 16:11:12 »
mrkni na "Head first design patterns", dá se stáhnout PDF

citanus006

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #8 kdy: 15. 08. 2016, 16:37:24 »

gl

Re:OOP - zdroje
« Odpověď #9 kdy: 15. 08. 2016, 19:40:27 »
...
Slesky rozum.
...

Tak hlavně ten slesky rozum.
Baňýk, p...!

Podle toho GoF soudím, že třeba takový Eckel už je pasé.
https://en.wikipedia.org/wiki/Bruce_Eckel

Myslíme v C++ je hodně špatná kniha. Zejména první díl jsou jen obecné řeči a hloupé příklady.

Inkvizitor

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #10 kdy: 15. 08. 2016, 19:44:10 »
Selský rozum je určitě potřeba, ale když už se mi na x-tém místě opakuje ta stejná podmínka, tak si říkám, že je asi něco špatně...

Proč i myslíš, že to znamená nedostatečně objektové myšlení?

Kit

Re:OOP - zdroje
« Odpověď #11 kdy: 15. 08. 2016, 19:45:25 »
Myslíme v C++ je hodně špatná kniha. Zejména první díl jsou jen obecné řeči a hloupé příklady.

Neřešíme C++, ale OOP.

Kit

Re:Zdroje k rozvoji OOP myšlení
« Odpověď #12 kdy: 15. 08. 2016, 19:47:55 »
Selský rozum je určitě potřeba, ale když už se mi na x-tém místě opakuje ta stejná podmínka, tak si říkám, že je asi něco špatně...

Proč i myslíš, že to znamená nedostatečně objektové myšlení?

Třeba protože stejné podmínky se v OOP téměř nevyskytují?

gl

Re:OOP - zdroje
« Odpověď #13 kdy: 15. 08. 2016, 19:53:11 »
Treba perl je v tom slavny, neco ve stylu $_->$@["nasr*at"] = 'a rozmazat';

Kde jste se konkrétně s tímhle řádkem setkal? Když už chcete kritizovat, pošlete alespoň reaálný kód.

gl

Re:OOP - zdroje
« Odpověď #14 kdy: 15. 08. 2016, 19:58:40 »
Myslíme v C++ je hodně špatná kniha. Zejména první díl jsou jen obecné řeči a hloupé příklady.

Neřešíme C++, ale OOP.

Lepší je se učit OOP používáním dobrých knihoven, než čtením hloupých příkladů.