Zasada pojedynczej odpowiedzialności stanowi, że każdy moduł w systemie powinien być odpowiedzialny za pojedynczą cechę lub funkcjonalność albo za agregację spójnej funkcjonalności. Innym powszechnym sposobem wyrażenia tego jest stwierdzenie, że każdy moduł powinien mieć tylko jeden powód do zmiany.