Seite 2 von 2

Re: Weniger Klassen, mehr Funktionen.

Verfasst: Mittwoch 11. Juni 2014, 18:47
von BlackJack
Nach dem Video hatte ich das Bedürfnis diese 8 Jahre alte Implementierung mit einer weiteren Klasse zu versehen: Conway's Game of Life. :-)

Re: Weniger Klassen, mehr Funktionen.

Verfasst: Freitag 13. Juni 2014, 21:23
von Piet Lotus
Hallo zusammen,
ich bin mal wieder recht spät mit meinen Anmerkungen zu einem interessanten Thema. Interessant als "Alternative" zur Objektorientierung ist sicherlich auch mal sich mit Flow Design zu beschäftigen. Hier nur ein Link FlowDesign-Artikel von einigen im Internet.
Nur so als Denkanstoß vorm Wochenende :)
Viele Grüße
Piet

Re: Weniger Klassen, mehr Funktionen.

Verfasst: Samstag 14. Juni 2014, 11:14
von Darii
Super, jemand ein ein neues Wort für den top-down Entwicklungsprozess gefunden.

Re: Weniger Klassen, mehr Funktionen.

Verfasst: Samstag 14. Juni 2014, 11:54
von BlackJack
@Darii: Nicht wirklich, es geht ja darum den Datenfluss und die Transformationen in den Mittelpunkt zu rücken, statt das Problem primär als Zerlegung in Klassen in einer objektorientierten Analyse zu betrachten. Also nicht als erstes Klassen identifizieren, sondern Datenquellen, Transformationen, und Datensenken. Allerdings sind diese drei Sachen oft dann doch wieder Kandidaten für Klassen, und das scheint der Artikel IMHO so ein bisschen verneinen zu wollen.

Mal praktisch auf Python angewendet würde man sich beim FD Gedanken um eben diese Datenquellen, Tranformationen, Aggregationen, und Datensenken machen, also wie man (Daten-)Objekte baut die man mit `itertools`, `reduce()` & Co verarbeiten kann. Ob das jetzt unbedingt einen neuen Namen braucht und Leute die diesen alten Hut anpreisen als wenn es der Heilsbringer und die Lösung aller Probleme ist, sei jetzt mal dahingestellt.

Ich praktiziere beides, gerade auch weil Python's Iteratoren, Generatorausdrücke, ``yield``, und `itertools` & Co das so gut unterstützen, und ich die „lazy” Verarbeitung bei Haskell kennen und lieben gelernt habe. Aber das ist halt *ein* Werkzeug im Werkzeugkasten was man berücksichtigen sollte, aber keines worum man jetzt einen Kult aufbauen sollte.