Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Теория программирования > Общие вопросы создания ПО
Перезагрузить страницу Как построить связи между объектами
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
andrey_rtv andrey_rtv вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.01.2013
По умолчанию Как построить связи между объектами - 23.01.2013, 12:19

Всем привет!

Для меня до сих пор загадка как правильно построить связи между объектами, т.е. логику приложения.

Например, имеется архитектура MVC или подобная, понятно как строить модель/представление, их надо сделать максимально инкапсулированными, и тут нам приходят на помощь паттены построения объектов: фабрика, DI и т.д. .
И так у нас построена вся инфраструктура приложения, запускается стартовый контроллер, когда нажали кнопку старт (win app) или зашли по URL - создаются объекты, вызываются методы и все ок.

Дальше мы расширяем задачу: надо (допустим у нас игра и есть 4 юнита и консоль), когда третий юнит остановится вывести сообщение "третий юнит не может стоять". Понятно, что к моменту остановки в программе имеется 4 объекта юнитов и 1 консоль, и можно внести следующие изменения:

1. Напрямую из класса юнита, метода остановки, обратится к классу консоли.
2. Напрямую из класса юнита, метода остановки, обратится к классу контроллера и в нем проверить условия, и вызвать консоль.
3. В классе юнита, в методе остановки, вызвать событие, допустим unit:stop, делегировать его на контроллер, а из контроллера так же как и в п.2
4. Использовать паттены типа цепочка, наблюдатель и т.д.

Пункт 4 не учитываю, так как это, по сути, повторение п.1-3. П. 1-2 захламляют код, и устанавливают сильные связи, и вообще прямые сообщения типа модель-модель, это, мне кажется, что то не то. Остается событийное программирование, но тут нужен глобальный диспетчер объектов .. все же мне кажется это неплохой вариант: модели дают всю бизнес-логику, view - отображение, а контроллеры - связи между объектами, логично что контроллеры вызываются в ответ на события, внутренние, либо внешние.
Т.е. получается только один приемлемый вариант установки связей между моделями?

Извиняюсь, что получилось много текста и воды, но по другому не смог.
Если кто что может посоветовать - буду очень благодарен.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение связи между билетами на транспорт Gock DHTML, JavaScript, VBScript 2 05.10.2012 19:09
Проблема с COM-объектами qwertpoiu Visual C++ 4 30.01.2012 12:54
Программирование баз данных со структурированными объектами zmey89 Prolog 7 24.01.2012 18:46
Работа с составными объектами данных. Виктория1988 Prolog 1 05.04.2011 00:42
Выбор между HP и Acer(между качеством и функциональностью) IVA89 Выбор ноутбука 3 04.02.2009 11:51
Таблица и связи между ними Gansss MySQL 1 13.11.2007 19:54
Огранизация связи между приложениями roman83 Delphi 3 24.09.2007 18:02
Как правильно работать с объектами Кошмар Python 27 22.09.2007 02:17
Создание прямого манипулирования объектами Pchelka C++ Builder 3 29.11.2005 10:03
Связи между таблицами в SQL-сервер Vostok MSSQL Server 6 17.12.2004 16:21
Работа с OLE-объектами kz WinAPI 0 02.12.2003 10:01
Работа с OLE-объектами и с corel draw 9 kz C++ Builder 1 24.11.2003 11:37



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов