Ребята подскажите пожалуйста какую нибудь литературу для понимания того как проектировать сайт на ООП. Т.е грубо говоря где будет описано что такое репозитории, как их использовать, зачем нужны сервисы, слушатели, интерфейсы и как это всё в куче применять
структурный дизайн, понятие связанности (coupling, cohesion, information hiding). Закон деметры. Разделение ответственности (при этом все куда сложнее "эта штука ходит в базу а эта штука рисует штуки"). Ну и тесты (тут хорошая книга - Growing Object-Oriented Software, Guided by Tests) потому что когда со всем перечисленным плохо их становится неудобно писать
Если вот с этим разбираться лень и не интересно то любые "делайте тут интерфейсик а тут репозиторий" превратятся в культ карго и ты будешь делать говно с полной уверенностью что так и надо.