2011-11-28 73 views
0

我想建立一个使用模型视图控制器的程序。MVC:控制器和视图通信(C#)

具体做法是:

我有一个状态管理器在同一时间,处理(初始化,加载,运行,卸载等等)的一组MVCS,之一。

在每个集合中,单个控制器都包含对相关模型和视图的引用。

每个模型,视图和控制器都是从父类派生的。 (即抽象模型,抽象视图,抽象控制器)。 这使我可以将大部分进程保留在父类中,而不是在状态管理器将处理的每个特定mvc集中添加重复代码。

现在的想法是让每个观其控制方法,进而将其模型方法调用呼叫,并在模型方面的任何变化都会被传递回通过控制器的视图。

这是我卡住的地方。 每个视图和模型对控制器的唯一知识是在其父类中定义的。哪个当然不包括子控制器为了正确处理视图和模型而需要的非常具体的方法。

有没有关于如何处理这个问题的想法?

- 谢谢。

回答

0

你可能比MVC更接近MVP。无论如何,绕过你的问题可能会使用接口和泛型。

让你的抽象类需要一个通用的接口:

public abstract class BaseView<TController> 
{ 
    protected TController Controller { get; private set; } 

    protected BaseView(TController controller) 
    { 
     Controller = controller; 
    } 
} 

大意的东西。

那么你的特定的控制器将简单地执行相关接口。

+0

我需要那么TController实例转换为相应的子控制器然后为每个儿童观正确? 如果你的意思是别的东西,除非? –