Циркулярная зависимость VB.NET / дуплексная связь между проектами - PullRequest
0 голосов
/ 16 октября 2011

У меня есть 2 проекта

  1. UI
  2. Функциональность

Ссылки UI Функциональность для вызова определенных функций.Функциональность должна вызывать определенные функции, которые управляют пользовательским интерфейсом.Это то, что я имею в виду под дуплексной связью.Есть ли способ сделать это, не вызывая циклическую зависимость?

Должен ли быть один основной проект, который просто выполняет все вызовы, действуя как «обертка» между пользовательским интерфейсом и функциональностью?

Ответы [ 2 ]

1 голос
/ 16 октября 2011

Ваша часть "функциональности" (бизнес-уровень), вероятно, не должна вызывать "ui". На самом деле, он должен знать что-либо об этом, так как для этого нужно разделить ваш проект на слои. Если вам пришлось изменить свой уровень пользовательского интерфейса на что-то другое, веб-интерфейс, форму Windows, мобильный телефон и т. Д., Это всегда должно быть независимо.

1 голос
/ 16 октября 2011

Возможно, вы хотите, чтобы пользовательский интерфейс вызывал функциональность, а не наоборот. Это лучшая практика. Вы можете использовать механизм событий или обратные вызовы, если вам нужно наблюдать за проектом Functionality и отвечать на события.

Пользовательский интерфейс, вызывающий Функциональность и Функциональность, вызывающий пользовательский интерфейс, непреднамеренно будет циклической ссылкой. Вы хотите избежать этого.

...