Разделянето на отговорности () е базов принцип при дизайна и реализацията на сложни софтуерни системи. Принципът се състои в разделянето на компонентите на програмата по такъв начин, че изолирани нейни части (класове, методи, функции) да имат възможно най-тясна специализация. Целта е логиката на отделни части от програмата да не се припокрива с другите части на програмата и по този начин да се минимизират промените в цялата програма, когато някой неин отделен компонент претърпи модификация или разширение. Модулното програмиране и капсулацията са традиционни техники за постигане на разделянето на отговорности.
Категория:Софтуерно инженерство