I have 2 projects
- UI
- Functionality
UI references Functionality to call specific functions. Functionality needs to call certain functions that operate UI. This is what I mean by Duplex communication. Is there any way to do this without causing circular dependency?
Should there be 1 main project which simply does all the calling acting as a “wrapper” between UI and Functionality?
Your “functionality” (business layer) piece probably shouldn’t be calling the “ui” puiece. In fact it should need to know anything about it since that is the point of separating your project into layers to begin with. If you had to change your UI layer to something different, web based, windows form, mobile, etc this should always be independent.