LINUX.ORG.RU

[Java] Вопрос по дизайну приложения

 


0

2

Имеется модель данных, набор сервисов и два клиента — web и desktop. Модель данных в данном контексте это классы. Сервисы управляют моделью, клиенты пользуются сервисами и имеют доступ к модели. Есть у нас к примеру интерфейс Shape и его реализации, классы Circle, Ellipse, Rectangle. Клиенты выполняют отрисовку этих фигур. Если бы был только десктоп-клиент, дизайн можно было бы построить с помощью какого нить Посетителя. Подскажите, пожалуйста, как правильнее поступить в случае с веб-клиентом (html+js)? Пока вижу только самый простой вариант — ввести в фигурах филд shapeType, и уже на клиентах делать ветвление.


Непонятно где у тебя сервисы на сервре или клиенте.

Если проблема только в отсутствии типа в JSON, то сериализуй в json поле class типа string и все, в явовских бинах ты его никак не перепишешь -> нет проблемы.

_________

//«wfrr: I will be banned.»

anonymous
()

ввести в фигурах филд shapeType

Почитай про антипаттерны проектирования. Там этот случай описан.

iZEN ★★★★★
()
Ответ на: комментарий от dave

Интересно, а алгебраические типы данных это тоже антипаттерн проектирования?

Какие-какие типы?

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Да есть такие. Просто, когда я слышу про всякие паттерны и антипаттерны проектирования, то мне сразу вспоминается популярная в мои школьные годы фраза «маразм крепчал».

dave ★★★★★
()
Ответ на: комментарий от dave

когда я слышу про всякие паттерны и антипаттерны проектирования,
фраза «маразм крепчал».

А мне вспоминается пример, как с применением одних только определений интерфейсов и классов на Java создаётся вполне годная процедурно-ориентированная программа с обычным ветвлением по типу значений переменных, но в которой нигде не используется оператор new...

iZEN ★★★★★
()
Ответ на: комментарий от dave

Лямбда-самец в треде, все в машину!

Над строителями, которые используют готовые блоки, ты тоже улюлюкаешь?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.