Признак хорошего тона — не делать ничего в конструкторе кроме того, что необходимо. А все, что необходимо, — это проверять предоставленные аргументы, а затем присваивать их в качестве значения для свойств сервиса.
модель чтения назвали PurchaseOrderForStockReport. Дополнительная квалификация ForStockreport указывает на то, что данный объект теперь служит определенной цели. Он пригоден для использования в очень специфическом контексте
Объекты можно инстанцировать на основе класса.
• В классе задаются свойства, константы и методы.
• Приватные свойства и методы доступны экземплярам одного и того же класса. Публичные свойства и методы доступны любому клиенту объекта
получение зависимостей из известного источника называется локализацией сервисов, а получение зависимостей в качестве аргументов конструктора — внедрением зависимостей