代码之家  ›  专栏  ›  技术社区  ›  jameschinnock

WPF自定义控件设计模式。MVVM?

  •  3
  • jameschinnock  · 技术社区  · 14 年前

    我在WPF中创建了一个自定义控件,这是一个非常非原始的股票代码示例,我是从该控件类型派生的。我的问题是:控件本身(而不是应用程序)是否有推荐的设计模式?我正在将MVVM作为一个整体用于应用程序,但是如果将这种设计模式与控件本身一起使用是一种好的或坏的做法,我只是走神了。

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

    • 它是一个比较复杂的控件,因为它具有中间值、平均值等的绘图能力和依赖性。
    • 将ViewModel作为它的一部分将使单元测试变得更容易(甚至可能)
    • 使整个编码过程更容易,特别是当我有一个点类型的定制可观察集合时。

    任何关于这件事的想法都是明智的。我只是不知道这是不是好的做法。

    多谢

    2 回复  |  直到 14 年前
        1
  •  0
  •   Per-Frode Pedersen    14 年前

    如果控件本身是自包含的,并且足够复杂,可以单独称为视图,那么我将采用为控件本身创建单独的视图模型的方法,如您建议的那样。否则,我就让它活在它所在的视图中。

        2
  •  2
  •   Prince Ashitaka    14 年前

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

    一般:
    尝试使控件从一开始就可以使用。它将帮助您认识到从一开始就有多好和有用。最重要的是,它给了很多满足和容易跟踪的完整性控制。

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