Zasada jednej odpowiedzialności

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

W programowaniu obiektowym zasada pojedynczej odpowiedzialności (ang. Single responsibility principle) mówi, że:

Nigdy nie powinno być więcej niż jednego powodu do modyfikacji klasy[1].

Zasada została sformułowana po raz pierwszy przez Toma DeMarco[2] oraz Meilir Page-Jonesa[3] pod nazwą zasady spójności, a spopularyzowana i podana w obecnym brzmieniu przez Roberta C. Martina w artykule "Principles of Object Oriented Design"[4] oraz książce "Agile Software Development: Principles, Patterns, and Practices"[1].

Zastosowanie zasady[edytuj | edytuj kod]

Martin utożsamia odpowiedzialność klasy z powodem do jej modyfikacji. Możemy rozważyć moduł, który generuje i drukuje raport. Odpowiada on za dwa procesy, a tym samym mogą wystąpić dwa powody do jego modyfikacji. Po pierwsze, może zmienić się treść generowanego raportu, po drugie – format, w jakim jest on drukowany. Zasada pojedynczej odpowiedzialności mówi, że oba te procesy powinny być niezależne i zaimplementowane w postaci dwóch oddzielnych klas lub modułów, które komunikują się ze sobą przy pomocy publicznych interfejsów.

Zobacz też[edytuj | edytuj kod]

Przypisy

  1. 1,0 1,1 Robert C. Martin, Micah Martin: Agile. Programowanie zwinne: zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#. Wyd. Helion, 2008. ISBN 978-83-246-1177-5.
  2. Tom DeMarco: Structured Analysis and System Specification. Yourdon Press Computing Series, 1979.
  3. Meilir Page-Jones: The Practical Guide to Structured System Design. Wyd. 2. Yourdon Press Computing Series, 1988.
  4. Robert C. Martin: The Principles of Object Oriented Design (ang.). [dostęp 2010-02-03].

Linki zewnętrzne[edytuj | edytuj kod]