Никогда не писал на джава, но да ладно, опустим
вообщем, если бы вы больше описали задачу, то можно было бы сказать больше
Смотрите, у меня есть некоторый движок. В этом движке есть окно и есть разные рендереры. К примеру, захотелось мне рисовать не в opengl, а в dx12 или же vulkan. Хотелось бы иметь что-то базовое, чтобы его можно было использовать, как замену этим ренедерам.
вы читали книгу банды четырех? там пример во введении похожий на ваш случай
must read
https://ru.wikipedia.org/wiki/Design_Patterns
С такими must read у меня скоро гора наберётся... У меня и так одна книжка по архитектуре движков, теперь и гоф читать...
Ну, я читал что вы тут пишите обычно, так что лучше послушаю и пойду прочитаю.
а как связана джава и архитектура, я вот 2 вещи связать не могу.
"в это вашей" звучит хамовато
Но она действительно устарела, почти 30 лет же прошло. Многие из тамошних паттернов тупо нинужны, когда в языке есть более выразительные средства (например, функции высшего порядка), чем в типичном симулоподобном ООП.
вообще, я другого мнения. мне кажется смысл книги не в том, что она на злобу дня, но инженер ее должен прочитать хотя бы для того, чтобы принципы взять на вообружение
так книга про косяки ООП и их обходы. причем тут функции высшего порядка?
Про то, что strategy и command не нужны, когда в языке есть ФВП, visitor — когда есть мультиметоды или хотя бы алгебраические типы, и т. д.
ООП это модель, со своими ограничениями; Как и ФП. И то и другое - инстурменты. Полезно знать о своем инструменте, чтобы не крутить гайки отверткой.
Ну и до кучи, ООП слишком зонтичный термин. В прототипных и/или динамических языках многие проблемы из книжки тоже неактуальны.
лихо вы динамические с ооп сравнили, это вообще вещи не особо связанные
*вздох* Книга о временах, когда в типичном тулбоксе не было гаечных ключей, и она учила, как взять две прямых отвёртки под правильным углом, чтобы закрутить ими гайку. К счастью, с тех пор комплектовщики спохватились и доложили всем ключи, поэтому этому древнему знанию учиться совершенно незачем.
Я имела в виду динамические ОО-языки с утиной «типизацией». Интерфейсы там не нужны, скажем.
У С++, у джавы, етц.
мне кажется интерфейсы нужны везде)
Вы переносите свои представления о мейнстримных языках сегодняшних на ситуацию 30-40 лет назад
Меня не затруднит повторить ещё раз: > Так зачем в 2022 читать про проблемы, которые были в лохматых языках из 80-90-х, и уже неактуальны? С тем же успехом можно до кучи почитать, ну скажем, про проблему распределения регистров
Обсуждают сегодня