Показать сообщение отдельно
Старый 29.12.2015, 01:50
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 14  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
2 оси изменения (платформа и существо)
Бридж сложноват и очень легко ломается. Трудно читаем. Забудете что это был бридж, даже если напишете в комменте в коде это это бридж или назовете что-то Bridge-ем, например, класс или метод класса. Запутаетесь. Но мне приходит на ум именно он, хотя не рекомендую.
Бридж служит для объединения двух систем, которые изменяются как хотят - две ости изменений.
А рекомендую видеоуроки Сергея Демчинского по шаблонам.
Там Вы найдете ответы
https://www.youtube.com/results?sear...BE%D0%BD%D1%8B
GoF1 итд, но посмотреть стоит все, там много хорошего
P.S. ТС, почитав вашу тему думаю что вы пытаетесь связать несвязаемое. Это даже не 2 оси изменения это 2 разных сабсистемы абсолютно не зависящие друг от друга. Одна строится по-своему, а другая по-своему. А вопрос, насколько я понял, состоит в том как описать layer (уж простите) в котором они будут взаимодейстовать друг с другом. Тут не паттер, а декомпозиция предметной области. Смотрите в сторону GRASP шаблонов (очень обобщенно), в сторону декомпозиции предметной области.
Что касаемо вашего вопроса, платформа не знает о существах, существа не знают о платформах (напрямую не дергают методы платформы, или ее переменные - инкапсуляция). Две абсолютно не знающие друг о друге системы, насколько я понял Вашу задачу. Делите их. Делите каждую из них на мелкие куски, независимые друг от друга. Повторяю, Немчинский великолепно читает

Добавлено через 24 минуты
Я думаю что порисовав UML диаграммы(это действительнро просто) Вы найдете решение средствами обычного ООП, а в каких-то конкретных местах будете использовать шаблоны


Последний раз редактировалось djyamato; 29.12.2015 в 02:27.