抽象主框架

Frameworks that Abstract Away Main

本文关键字:框架 抽象      更新时间:2023-10-16

对于某些C++和amp;C#框架在不需要用户实现main函数或类的情况下运行?

例如;在MVVM Cross中,您实现了MvxApplication,一切都从那里开始。在wxWidgets中,您可以实现wxApp

框架是在API中实现main,还是完全绕过它?有没有一个术语可以用来描述抽象掉主要内容的框架设计?这种设计有什么好处?

在wxWidgets的情况下,您仍然可以获得main()WinMain(),它只是隐藏在wxIMPLEMENT_APP()宏中。主要的好处是,您不必在自己的代码中使用条件编译来定义Windows下的WinMain()和其他地方的main()(过去,也有其他平台使用main()以外的东西,但我相信它们现在都已经灭绝了)。

必须有一个main。因此,这些框架必须提供自己的main,然后调用其框架特定的main(例如MvXApplication)。

他们这样做的原因是,框架必须要求在调用客户端代码之前/之后进行某些开始/结束函数调用或操作。这些操作可能太复杂或太多,不需要客户端代码来完成

我不知道这个术语或名称。