我想了解在使用MVC、MVP或其他模式来组织包含多个项目的解决方案时,常见的做法是什么。
例如:对于MVP,我可以在一个解决方案中有一个视图项目、一个Presenter项目和一个模型项目。MVC也可以有类似的解决方案布局,其中可以有多个项目形成一个解决方案。我相信MVVM解决方案也可能包含多个项目。
在使用这些解决方案时,每个项目都会生成一个独立的dll文件。因此,在按照MVP模式组织的解决方案中,Presenter项目将生成自己的.dll文件。
我想知道,在解决方案中使用这种布局方式时,有没有常见的做法,可以避免某人直接引用生成的presenter.dll或controller.dll并调用这些.dll文件中定义的方法或实例化类型的情况。
我想知道:
1)我是否正确地使用了这些模式,或者是否完全错误地组织了包含多个项目的解决方案?
2)我应该把所有的代码都放在一个项目中,并将控制器/Presenter/模型组织在文件夹中,以便为每个解决方案生成一个.exe或.dll文件。我看到这种方法的问题是,在MVP布局中,我将无法使用我的Presenter项目来拥有不同的视图(例如WebSite视图、WebService视图)。
3)在使用MVC/MVP或其他模式组织包含多个项目的解决方案时,常见的做法是什么,以便我可以控制谁调用我的代码。