У меня есть путь обработки сигналов, сделанный из многих классов. Каждый класс обработки представляет собой состав меньших классов, каждый из которых имеет свои собственные параметры.Есть ли рекомендуемый шаблон проектирования для передачи параметров с процессом?
До сих пор я ленился и сохранил все параметры обработки в отдельном классе параметров. Я сделал это friend
всех классов обработки, чтобы они могли напрямую обращаться к своим членам данных. Однако это обеспечивает очень сильную связь между отдельными блоками и классом параметров, что делает дизайн полностью негибким.
Я перепроектирую код, чтобы каждый небольшой процесс владел своими собственными частями данных, которые ему нужны, чтобы функционировать для уменьшения связи. Но теперь, если новый набор параметров загружен, мне нужен сложный метод, который устанавливает все параметры (используя функции доступа) в каждом из отдельных блоков обработки. Команды в этом методе будут тесно связаны с процессом. Как свести к минимуму эту связь?
Звучит здорово. Скажем, что значения в объекте контекста должны были измениться после того, как были построены процессы. Как я могу позволить отдельным процессам обновлять себя в соответствии с новыми значениями? – learnvst
Вот что у меня есть до сих пор FYI: http://stackoverflow.com/questions/10401321/does-this-implementation-of-the-context-pattern-look-ok – learnvst
@learnvst. Вы можете подписаться на процессы (монитор) в контекст (издатель), поэтому они автоматически уведомляются контекстом в случае любого изменения контекста. См. Http://en.wikipedia.org/wiki/Observer_pattern. Вы можете отделить обязанности издателя/подписчика от самого контекста, но это может быть сложнее. – mloskot