Weniger Klassen, mehr Funktionen.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
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. :-)
Piet Lotus
User
Beiträge: 80
Registriert: Dienstag 14. November 2006, 10:40

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
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Super, jemand ein ein neues Wort für den top-down Entwicklungsprozess gefunden.
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.
Antworten