希望是直截了当的。我正在寻找一个 C# 产品,由于 Xamarin,它注定可能具有桌面 (WPF)、Web、任意数量的移动构建输出。
有几个组件:
- 我有一个“CoreApi”项目,它具有接口和共享模型,可以调用它们来编写任何应用程序前端(并实现以编写后端)。
- 我还在另一个程序集中拥有所有“应用程序逻辑”——目前与 MVVM 模式中的查看模型类似,但以应用程序为重点。
- applogic 中包含一个特定于平台的接口实现,它与动态生成用于播放的音频缓冲区有关。也单独的项目/装配
我正在使用 Ninject,它运行良好。但随着解决方案逐渐扩展到包括其他项目类型(网络、移动客户端),我可以预见到一些“味道”:
目前,客户端项目引用了特定于平台的 (DirectX) 音频引擎和后端的本地/测试实现。它仍然使用 Ninject 并且不直接引用实现类,但是让它们可以访问和直接引用感觉是错误的。
当解决方案构建时,我几乎想要拥有不同的“包”:
- 套餐一:桌面客户端+DirectX引擎+后端X
- 包 2:带有后端 Y 的 Web 部署包
- 套餐三:安卓版带后端X+安卓音频引擎...
我在正确的轨道上吗?我真的想求助于构建后步骤,将东西复制到目标文件夹吗?