|
Модераторы: Се ля ви |
|
Logo |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Обдумываю архитектуру для игрового сервера, страницы которого доступны как через веб, так и внутри игры по своему протоколу и языку разметки.
Соответственно, есть идея сделать основной контроллер, в котором есть общие методы, от которого уже будут наследоваться контроллеры для веб протокола, и для игрового протокола, т.к. у них будут идентична по логике значительная часть страниц.
Все бы ничего, но предполагается в дальнейшем возможность поддержки других игр на схожем движке, и не факт, что функционал сервера для разных игр будет полностью идентичным - хотелось бы сохранить гибкость. Отдельно от предыдущей задачи это тоже делаться элементарно через наследование
Но вместе эти варианты уже не использовать просто так. Остается вариант с множественным наследованием по алгоритму C3.
Но многие не советуют использовать множественное наследование. Другой вариант, наверно, более сложный, сделать свою систему разрешения коллбеков, на метапрограммировании. Как тут поступить? Это сообщение отредактировал(а) Logo - 7.3.2015, 14:50 |
||||||
|
|||||||
makarov_dv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.1.2008 Репутация: нет Всего: нет |
Доброго времени суток.
В с# например множественного программирования вообще нет, то есть разработчикам языка настолько не понравилась эта идея, что они решили вообще запретить это делать. Да и вообще самой идеей наследования не стоит увлекаться. Наверняка можно заменить наследование композицией, выделив общий функционал в отдельные классы и определить соответствующие интерфейсы. При такой архитектуре достигается более слабая связанность кода - легче тестировать, легче модифицировать. |
|||
|
||||
Правила раздела "Философия программирования": | |
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Философия программирования | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |