Прочитал книгу Эдисона Вэсли "Предметно-ориентированное проектирование", и казалось бы по словам рекомендовавших - все вопросы должны бы исчезнуть.
Но мне ничего не понятно, про то - по каким правилам строится диаграмма классов, потому что я уже десятый раз проектирую проект, который все равно начал писать "по мере реализации будет видно", а модель эта для вида на доске написана, на деле она рисовалась уже после того, как написан код.
Мне совершенно понятна разница в программировании между трейтом, абстрактным классом, интерфейсом, просто классом, неймспейсом, эксепшеном и всеми инструкциями. Мне она в жизни непонятна - на кой введено столько понятий, дайте какую-нибудь нлп-карту чтобы это понять.
Вот он описывает ситуацию - электрическая цепь: есть одна микросхема, есть другая микросхема, у них есть ножки значит, ножка одной соединяется с ножкой другой, образуя почему-то шину (полагаю под шиной радиотехники понимают несколько цепей, не могу точно сказать), итого он чертит модель:
Левый элемент - Ножка - Шина - Ножка - Правый элемент
Да короче вот:
https://www.screencast.com/t/oLlvyP36mJ
Центральная часть ножка-шина-ножка повторяется на картинке несколько раз. После этого начинает составлять диаграмму классов:
Абстрактный класс Абстрактная Цепь содержит свойство "Правила"
Класс Цепь наследуется от АбстрактнойЦепи содержит свойство Шина
и по итогу получается вот такая схема
https://www.screencast.com/t/1iJgtfqTdv2
Как он понял, что оно должно выглядеть так. Он просто "есть дом", давайте нарисуем проект "итак, если спальня, то - проект готов, иначе - проект без спальни готов". Почему - не понятно, как получилось - не понятно, зафиг ему абстрактный класс, если сам класс и есть абстракция от объекта?
Как он понял, что метод Правило должен быть в абстрактном, а просто классе - метод шина? Почему оба не в абстрактном, или не оба в просто классе?
Правда говоря он пишет то ли на Java то ли на C, но суть понятий то?