Встречается на собеседованиях • сегодня

В чем разница между SRP и SoC

SRP (Single Responsibility Principle) и SoC (Separation of Concerns) — оба принципа направлены на декомпозицию кода, но с разными акцентами:

  • SRP — принцип SOLID, требующий, чтобы у класса была только одна причина для изменения (одна ответственность). Например:
    python
    class User:
        def __init__(self, name):
            self.name = name
    
text
  def save_to_db(self):  # Нарушение SRP (хранение + логика сохранения)
      pass
text
Лучше разделить:  
```python
class User:
    def __init__(self, name):
        self.name = name

class UserDB:
    def save(self, user):
        pass
  • SoC — более общий принцип, разделяющий систему на независимые модули (например, фронтенд/бэкенд, логика/UI).

Итог:

  • SRP — про ответственность классов/методов.
  • SoC — про архитектурные слои всей системы.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы