ООП: Взаимодействие объектов

Free
Какими способами производится взаимодействие объектов в ООП. Чем ООП полезно при моделировании реального мира.
Free
Использование конструкторов для инициализации объектов. Внедрение зависимостей.
Free
Корректное проектирование методов для описания поведения объекта. Инкапсуляция для контроля внутреннего состояния.
Подходы к контролю исключительных ситуаций. Использование исключений и корректный ох отлов.
Использование событий объекта для снижения связанности кода. Способы генерации событий и пути подписки на них сторонних слушателей.
Скоро
Поля и свойства
Нужны ли геттеры и сеттеры объектам. Чем объект отличается от структуры данных. Какая роль DTO и стоит ли ими злоупотреблять.