Woher kommt die Idee, dass ein Objekt nur eine Sache machen soll?

7

Ich bin mir nicht sicher, ob ich damit einverstanden bin, also würde ich gerne den Buch- oder Zeitschriftenartikel hinter dieser Idee finden, damit ich überprüfen kann, ob ich genau verstehe, was sie sagen und in welchem ​​Zusammenhang sie es verstehen / p>

Ich denke, ich verstehe die Idee - ich möchte nur die Quelle kennen, damit ich überprüfen kann, woher die Idee kommt.

warum ich frage:

Der Begriff "do one thing" ist vage und könnte viele Dinge bedeuten, darunter "nur eine Methode pro Klasse" (lächerlich) ... Ich denke, es könnte eine einzelne Verantwortung (dh viele Methoden) bedeuten. Es ist auch nicht besonders nützlich, weil man beurteilen muss, wann eine einzelne Verantwortung kompliziert genug wird, um sich in mehrere Verantwortlichkeiten mit irgendeiner Art von Delegation umstrukturieren zu müssen ...

    
daf 09.11.2009, 20:54
quelle

5 Antworten

19

SOLID-Prinzipien von Bob Martin .

Prinzip der einfachen Verantwortlichkeit um genau zu sein.

Obwohl auf der ersten Seite des Kapitels zum Grundsatz der einfachen Verantwortung heißt es:

  

Dieses Prinzip wurde in den Arbeiten von Tom DeMarco und Meilir Page-Jones beschrieben. Sie   nannte es Zusammenhalt.

Die Referenzen für die von ihm erwähnte Arbeit sind:

  • Strukturierte Analyse und Systemspezifikation , Tom DeMarco, Yourdon Press Computing Series, 1979
  • Der praktische Leitfaden zum strukturierten Systemdesign , 2d. ed., Meilir Seite- Jones, Yourdon Press Computing Series, 1988

Andere Quellen (von S.Lott in Kommentaren) beinhalten:

Grundlefleck 09.11.2009, 20:56
quelle
6

Der Mann, der die Idee der Modularität in Software erfand, war Dr. David Parnas. Das klassische Papier ist Zu den Kriterien, die bei der Zerlegung von Systemen in Module verwendet werden

Obwohl er im Allgemeinen nicht über OO spricht (wie es noch nicht der Fall war), gehen die Ideen von OO natürlich von Dr. Parnas 'Arbeit aus. Und ein Teil dieser Arbeit ist eine Analyse, wie Sie Ihre Software in Module zerlegen können und dass Module nur einen Zweck haben sollten.

    
Jay P. 09.11.2009 22:14
quelle
1

Prinzip der einheitlichen Verantwortung - Überprüfen Sie hier , um Informationen zu diesem Thema zu erhalten.

    
Otávio Décio 09.11.2009 20:57
quelle
1

Was auch immer die Quelle ist, ich denke nicht, dass es eine allgemeine Idee in OO ist. Ein Objekt könnte viele Dinge tun.

    
Dani 09.11.2009 20:58
quelle
0

Das Single-Responsibility-Prinzip (SRP) ist in der Java-Welt ziemlich verbreitet. Die hier genannten Referenzen sind gut.

Das Prinzip kann sowohl auf Klassen als auch auf Methoden angewendet werden, da es für beide eine gute Idee ist.

Die Ergebnisse, wenn man sich der SRP bewusst ist und sie wenn möglich anwenden, sind normalerweise sauberer, einfacherer Code, aber auf Kosten von mehr Klassen / Methoden. Dies kann für die Wiederverwendung, das Testen und den nächsten Programmierer von großem Wert sein.

    
drekka 26.06.2010 14:40
quelle

Tags und Links