我正在创建的视图模型存在一个必需的类,并且取决于将加载的页面,另一个类被实例化,或者可能是另一个视图模型。这个视图模型的实现会是什么样子?
例子
public class ViewModel
{
public ViewModel()
{
foo = new Foo();
}
public Foo foo { get; set; }
public Bar1 bar1 { get; set; }
public Bar2 bar2 { get; set; }
public Bar3 bar3 { get; set; }
public OtherViewmodel otherVM { get; set; }
}
基于上面的示例:剃刀引擎渲染的每个视图都需要一个类 'Foo' 的实现。
第一页需要类“Bar1”。控制器中的代码如下所示: ViewModel.Bar1 = new Bar1();
第二个页面将需要“OtherViewmodel”类,并将在 OtherViewmodel 的控制器中创建一个实例。
我不知道这是否是面向对象编程的正确方法。当视图模型不需要某个对象并且它是类的属性(但未实例化)时,对象的大小呢?
例如,“ViewModel”类将用于我的所有页面,因此我所有的类都将是此类中的一个属性。我认为有一种更简洁的编程方式,但我还没有找到。
任何帮助,将不胜感激。提前致谢。