Zasada pojedynczej odpowiedzialności (ang. single responsibility principle) – zasada mówiąca, że nigdy nie powinno być więcej niż jednego powodu do istnienia klasy bądź metody[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
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ą za pomocą publicznych interfejsów.
Zobacz też
- SOLID – S w SOLID oznacza zasadę jednej odpowiedzialności.
Przypisy
- 1 2 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.
- ↑ Tom DeMarco: Structured Analysis and System Specification. Yourdon Press Computing Series, 1979.
- ↑ Meilir Page-Jones: The Practical Guide to Structured System Design. Wyd. 2. Yourdon Press Computing Series, 1988.
- ↑ Robert C. Martin: The Principles of Object Oriented Design. [dostęp 2010-02-03]. (ang.).
Linki zewnętrzne
- The Single Responsibility Principle. Object Mentor. [dostęp 2013-02-16]. (ang.).