类扩展放在MVVM模式中的哪个位置?

时间:2014-07-22 02:10:10

标签: mvvm

我是新手,并且仍然想要了解使用MVVM做事的最佳方式。我无法通过Google找到答案。

为方便起见,我在多个自定义类上创建了扩展,例如

 public static AppointmentLabel ToLabel(this textblockPatient tbp)
    {
        return tbp.appointmentlabel;
    }

在我的MVVM模型中,我将这些扩展放在模型中,因为它们似乎将一个信息源转换为另一个。但是,一些自定义类是UserControls并存在于View中。这样做需要模型“知道”#34;有关View的内容,因为上面的textblockPatient是UserControl。

这是如何在MVVM模式中完成的?扩展是否被认为是模式的例外?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在我看来,这不是与mvvm相关的事情。我建议你将扩展类放在它们扩展的类附近。通过这样做,你达到一定程度的凝聚力。有时将扩展放在一个单独的项目中是有意义的。例如,如果您知道您希望始终需要扩展,并且希望拥有较小的代码库或更快的编译时间。