我用C#/ WPF编写了一个简单的桌面应用程序,现在我正在寻找创建另一个更大的应用程序,它将共享许多功能。我在想我应该创建三个独立的项目:一个包含共享代码,另一个包含两个应用程序。
我的问题是我并不完全熟悉.NET / WPF,所以我不知道是否有一些针对此类事情的最佳实践。任何人都可以提供一些很好的信息来源,示例项目或只是一些简短的建议吗?
编辑:要在场景中添加更多细节,第一个应用程序是一个专用编辑器,第二个应用程序正在使用此文件编辑器并围绕它包装项目模型以创建一种基本IDE。
答案 0 :(得分:1)
老实说,这取决于您打算分享的代码级别。例如,将所有业务逻辑代码放入一个项目/类库并独立维护它是完全合理的,但应强烈建议不要将业务逻辑与WPF自定义控件混合使用。想想你正在模块化的抽象层,以及你正在引入和重构的依赖性heiarchy。
编辑:
为了回应您的上述更改,我建议如下:与上述相关的逻辑和DAL应作为单独的命名空间推送到项目中。视觉元素(视图,视图模型)应该最有可能被移动到单独的项目和名称空间集中。一旦您可以将这些合并在一起并从包含主机窗口和用于其他托管可视内容的UserControl的exe启动它们,您就可以继续集成到更大的IDE项目中。关键在于:
视觉层和视图逻辑 - > Editor.Visual.dll
Biz Logic&数据访问 - > Editor.Core.dll
我希望这会有所帮助。