【问题标题】:WPF Custom Control Design Patterns. MVVM?WPF 自定义控件设计模式。 MVVM?
【发布时间】:2010-08-18 01:53:47
【问题描述】:

我正在 WPF 中创建一个自定义控件,它是我从 Control 类型派生的股票行情代码的高度非原创示例。我的问题是:控件本身(而不是应用程序)是否有任何推荐的设计模式?我将 MVVM 用于整个应用程序,但只是徘徊在控件本身使用这种设计模式是好还是坏。

我考虑使用 MVVM 进行控件的原因是:

  • 它是一个相对复杂的控件,因为它具有绘图能力和​​ Midprice、Average 等的依赖属性
  • 将 ViewMODEl 作为其一部分将使单元测试变得更容易(甚至可能)
  • 使整个编码过程更容易,特别是因为我有一个定制的点类型 ObservableCollection。

任何关于此事的想法都会很棒。我只是不知道这是否是好的做法。

非常感谢

【问题讨论】:

    标签: c# design-patterns wpf-controls


    【解决方案1】:

    1) 未来可扩展性 - 我想说的是控制开发的核心。
    2) 良好的 API 设计 - 创建尽可能多的概念证明。
    3)来模式 - 如果它真的是大控制。使用 MVVM 很好。但是,也要学会妥协。有时,我们会觉得在组件开发方面严格遵守 MVVM 会使控制变得非常复杂。
    4) 避免过度暴露属性 - 在需要时添加属性。 [如果属性过度暴露,控制感觉就像是一种滥用。 ;)]
    5) 使控件看起来不美观。参考L for Lookless

    一般:
    尝试从一开始就使控件可混合。它将帮助您从一开始就意识到它的好用性和可用性。最重要的是,它提供了很大的满足感,并且易于跟踪控制的完整性。

    在选择特定功能时,请从两个方面考虑:
    1) 控件的可用性和
    2) 控制的完整性。

    【讨论】:

      【解决方案2】:

      如果控件本身是独立的并且足够复杂,可以单独称为视图,我会采用为控件本身创建单独的视图模型的方法,就像您建议的那样。否则,我只会让它存在于它所在的视图中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-22
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 2015-09-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多