2.8 KiB
aliases | tags | date | ||
---|---|---|---|---|
|
2024-11-23 |
../dev/architecture/ООП (ООП) появилось как подход к созданию программ, основанный на моделировании реального мира.
Объекты задумывались как автономные сущности, которые взаимодействуют друг с другом через четко определенные интерфейсы. Пример: в объекте «Автомобиль» методы, такие как запустить()
, ехать()
, и свойства, такие как скорость, объединены в единое целое.
В реальных проектах принципы ООП часто отходят на второй план. Распространены следующие практики:
- Классы хранения данных (Data Transfer Object, DTO):
- Такие классы не содержат логики, а только свойства с геттерами и сеттерами.
- Используются для передачи данных между ../dev/architecture/Архитектурный слой приложения.
- Сервисы:
- Содержат ../dev/architecture/Бизнес-логика.
- Взаимодействуют с DTO или объектами баз данных, но не объединяют данные и логику.
Фактически ../dev/architecture/Инкапсуляция становится слабее, так как обычно у DTO есть геттеры и сеттеры, что открывает внутреннее состояние объекта.
==Это не обязательно плохо или хорошо — это просто реальность современных проектов.== Однако, странно продолжать говорить о применении объектно-ориентированного программирования, если оно фактически перестает соответствовать своим основным принципам.
Мета информация
Область:: ../meta/zero/00 Разработка Родитель:: Источник:: Создана:: 2024-11-23 Автор::