Рассказываем про основы объектно-ориентированного анализа и проектирования (ООАП) и паттерны проектирования. Часть 1

Таким умным длинным заголовком, да ещё в воскресенье, мы не занудствуем, а экономим ваши денежки. В среднем курс по OOA\D в интернете стоит 40 тысяч, и перед этим вам ещё порекомендуют пройти курс по визуальному моделированию. Встречайте, у нас в блоге для аналитиков новый автор с суровой темой на несколько публикаций.

1717

Давайте тогда вместе распутываться:
1. Если мы рассматриваем документооборот компании, то в нем существуют объекты и входящих писем и исходящих. Также при автоматизации в рамках одной системы электронного документооборота создает как класс для Входящих писем, так и класс для Исходящих писем. Поэтому в этой статье не рассматриваются другие системы.
2. В ООП методы не являются самостоятельными элементами, как класс. А вот интерфейсы вполне могут обладать атрибутами.
3. С понятием Объект в ООП есть путаница, потому что его применяют в разных контекстах. Когда мы исследуем на проекте, мы исследуем объекты, это могут быть как физические объекты, так и абстрактные. А вот то, что является порождением класса является его экземпляром, но нередко экземпляр класса также называют объектом.
Если брать аналогию с домами, то архитектор прежде, чем сделать свой первый чертеж долго изучает различные объекты архитектуры, построенные в разных стилях. Далее он с заказчиком определяет в каком стиле он хочет построить дом и создает чертежи (классы). На основе чертежей рабочие строят дом (создается экземпляр класса). В последствии этот дом может также стать объектом изучения.

Ответить

Ещё раз по порядку:
1. Если речь об ЭДО, то надо это упомянуть явно.
2. Интерфейсы — это не классы. С помощью ключевого слова new нельзя создать экземпляр интерфейса. Ссылка (для примера объективности):
https://developer.alexanderklimov.ru/android/java/interface.php
Или вот:
Интерфейс - это именованный набор моделей поведения (и/или постоянных элементов данных), который должен обеспечить реализатор. Интерфейс определяет поведение реализации, но не то, каким образом оно достигается.
Как видите, определение интерфейса принципиально отличается от определения класса (которое вы можете найти сами).
3. Изучаемые объекты архитектуры не являются экземплярами класса, который вы проектируете (тот самый дом). Изучаемые объекты являются экземплярами других классов. Вы можете много чего изучать (хоть квантовую физику), но в результате исходным результатом будет класс сущности (проект дома), обладающей атрибутами (состоянием) и методами (поведением) своими уникальными. Причём заметьте, состоянием (конкретными значениями атрибутов экземпляра класса) обладают только инстансы класса (построенные дома по вашему проекту), которые уже инициализированы в работающей программе (строительной бригадой).

Ответить