我目前正在开发一个C#WPF项目。该解决方案有两个项目,一个名为GUI,包含程序的所有Windows和GUI控件,另一个名为编码,包含所有类和逻辑,以确保如果我更改逻辑,它不会影响工作GUI。
在GUI项目中,我添加了对编码项目的引用,并说使用Coding,这允许我从GUI屏幕访问逻辑类。
但是,如果在Coding逻辑类项目中我想从GUI项目加载一个新窗口,我该怎么做呢。如果我尝试从编码项目添加对GUI项目的引用,则表示无法完成此操作,因为它会创建循环依赖项。
如何将两个项目一起引用,以便GUI可以从编码项目中访问逻辑类,并从编码项目中引用gui项目,这样编码逻辑类就可以从gui项目中打开一个新窗口。
感谢您提供的任何帮助。
答案 0 :(得分:1)
您可以通过引入第三个项目Common
来解耦它,并将Window和其他共享类移出到其中。然后,Gui
和Coding
项目可以轻松引用Common
。
BTW,尝试重新考虑您的设计,因为我担心Coding
项目知道UI
个实体。
编辑:
在WPF中,您可以使用Commands
将UI内容从逻辑中解耦,看看是否可以实现此目的。
答案 1 :(得分:0)
当我们谈论WPF和SOC“关注点分离”时,这将我们直接引导到MVVM,here一个简单的解释