- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在寻找一种方法来拥有一个 C# 类,主要是在没有任何 GUI 的情况下作为 Windows 服务的一部分运行,以选择性地显示在 WPF Canvas 控件上。
我最初的想法是让对象扩展一个 WPF 控件,但是这需要服务器端(Windows 服务)引用这些库,这并不理想。我的第二个想法是实现工厂模式,包装器借此为对象生成 GUI,但如果需要,我希望对象能够定义它自己的设计(理想情况下带有代码隐藏的 XAML)。
这些类通过 MEF 从插件目录加载,并基于基于 XML 的设置文件进行实例化。
我也想到了只使用两个单独的类的可能性,但这似乎增加了插件制作过程的复杂性和冗余(可能会有几个)。
想法?
编辑:这些类可以被认为是 Windows Workflow Foundation 事件。它们通过 GUI 配置并在服务器上运行。
最佳答案
将类本身的“业务逻辑”与其任何 GUI 分开。 GUI 应该只是业务逻辑之上的一个 View (可能带有交互)。
举个例子,我最近做了一个关于“Skeetris”的演讲——一个对某些人来说可能看起来很熟悉的方 block 掉落游戏。我在解决方案中有几个项目:
其他所有内容都引用的两个项目:
客户项目:
和测试项目:
如您所见,这里有各种各样的客户 - 但他们都不是真正“理解”Skeetris;只有模型项目可以。 UI 层尽可能薄,将更多逻辑放入更容易测试的模型类中。
这种设置听起来也非常适合您的项目:
关于带有可选 GUI 的 C# 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21268915/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!