C++ 程序程序对图形应用的适用性

C++ 程序程序对图形应用的适用性,c++,c,user-interface,C++,C,User Interface,亲爱的软件工程师: 我目前在英国教一组三级学生一个程序编程单元(使用C语言)。这是 对于区分(更高级别)任务,学生必须“评估图形应用程序程序的适用性” 可以使用GTK和Qt实现图形应用程序,但也可以在网页上创建闪烁文本(仅仅因为您可以,并不意味着您应该这样做) 许多游戏和桌面应用程序都是用C++编写的,所以我怀疑面向对象代码对于构建图形应用程序来说是更好的。 重申一下,我需要“评估程序程序对图形应用程序的适用性” 作为一名软件工程师,你会如何回答这个问题 [编辑]值得一提的是,我对这个问题的回答

亲爱的软件工程师:

我目前在英国教一组三级学生一个程序编程单元(使用C语言)。这是

对于区分(更高级别)任务,学生必须“评估图形应用程序程序的适用性”

可以使用GTK和Qt实现图形应用程序,但也可以在网页上创建闪烁文本(仅仅因为您可以,并不意味着您应该这样做)

许多游戏和桌面应用程序都是用C++编写的,所以我怀疑面向对象代码对于构建图形应用程序来说是更好的。 重申一下,我需要“评估程序程序对图形应用程序的适用性”

作为一名软件工程师,你会如何回答这个问题


[编辑]值得一提的是,我对这个问题的回答非常好。

我不认为面向对象或过程程序“更好”,正如以递归或迭代方式编写算法“更好”

在面向对象出现之前,已经编写了很多精彩的代码

我认为这些风格更多地与管理复杂性有关。对象是单个软件组件中的状态和行为。当系统很好地映射到对象时,该样式可能是管理复杂性的一种好方法。它在GUI组件(如窗口、按钮等)中运行良好

但这不一定是唯一的办法


我在1996的C斯坦福大学上进行了一个程序设计类的课程,当时C++刚刚开始流行,java和C都不存在。他们让学生们用一种非常严谨的风格,使用精心设计的库和严格的分解来进行图形编程。我敢说你找不到更好的代码。

即使使用面向对象编程,通常函数最终也会被调用以执行某些操作,而这些函数中的代码将被视为过程性的。主要区别在于代码最终如何调用这些函数以及这些函数所使用的参数。

您应该向programmers.stackexchange.com提出这个问题。我认为OO代码更易于维护,但图形应用程序的过程程序的适用性在很大程度上取决于您对“图形应用程序”。如果任何显示某个内容的应用程序被视为“图形应用程序”,那么它完全适合它。正如其他人所指出的,GUI应用程序通常非常适合OO。此外,有许多设计模式适用于常见的GUI编程问题,如Decorator、MVC等。