Ste*_*goo 18 c++ model-view-controller design-patterns
我一直在学习PHP MVC模式,这很酷.几乎完成了应用程序,我可以看到你没有良好的设计可以制造代码有多乱.现在可以将MCV应用于C++应用程序吗?如果可能的话,插件管理器/插件在哪里?在模型或控制器中?谢谢!
编辑:
我的意思是带有GUI工具包的C++,如QT/Wxwidgets/GTK +另外请帮我讲解如何用C++实现.我已经学会了如何在PHP中完成它,但是你知道这两种语言有些不同!
EDIT2
lur*_*her 27
你如何在C++中实际实现它
使负责渲染的类对应用程序细节一无所知.称他们为SomethingView类,以明确这一点
使您的域对象对可视化或用户交互一无所知.你不需要称它们为Model,但你可以
创建一组负责运行控制器角色的类:如果可能的话,通过依赖注入以某种方式连接依赖关系来查看和建模类.示例:CppInject.在任何情况下,控制器类都可以了解模型和视图类,因此重要的部分是:视图和模型对象之间的所有耦合都与控制器隔离.
此外,这意味着所有命令式编程也应该局限于控制器类:视图和模型应该是声明式的.这意味着,他们应该提供与其角色相关的服务,但避免与其他对象直接交互作为副作用
你不需要在事件式系统中实现控制器和其他组件之间的通信,尽管这样的系统肯定是有用的,但肯定不是必需的
惊喜!以上内容适用于任何语言或框架,当然除了语言之外已经从一开始就迫使MVC扼杀你的喉咙,即:ruby on rails
MVC是一种设计模式,而不是特定于语言的结构,所以是的,您也可以将它应用于C++应用程序.
MVC可以并且应该以任何语言应用,因此您的用户界面与后端松散耦合,并且可以在相互影响最小的情况下进行更改.
MVC模式将对象清晰地分离为: