我打算用 C 开发一个应用程序。我的编程经验一直是使用面向对象的语言。因此,在设计应用程序时,我总是从类、接口(interface)、继承、多态性等方面考虑。
我看过的所有 C 书籍都涉及如何用 C 编程或专注于特定主题,我找不到任何谈论 C 应用程序架构的书。那么当你如何构建一个 C 应用程序时OOP 功能不可用?你如何保持一切模块化和组织良好并避免代码重复(没有 OOP 似乎会有很多代码重复)?
编辑: 我不是在寻找“如何用 C 编写 OOP 代码”的答案。我正在寻找构建 C 应用程序的标准实践方法,以便它们模块化且组织良好。如果标准实践方法是破解某些 OOP 功能,那么这很公平,但如果不是,那么告诉我走那条路就没有意义了。
最佳答案
这是一种不同的思维方式。 C的核心哲学可以概括为:
data + algorithms = programs
所以用 C 设计一个应用程序:
您需要仔细考虑数据是什么,并定义能够很好地反射(reflect)该数据的
<结构
,并促进不同数据 View 之间的关系。您需要考虑哪些算法将对哪些数据进行运算,以及它们会产生哪些数据。这有助于阐明您应该拥有的
struct
,并有助于显示应该将哪些内容一起阻止以创建可重用的代码块。从 OOP 方法转向这种方法的一种方法是想象一个
struct
+ 一个 .c 文件 = 一个类,然后将结构定义放入 .h 文件中以及外部可访问的函数(公共(public)方法)。您必须编写大量代码来完成无聊的事情,例如内存分配和释放以及所有爵士乐。这并不像听起来那么糟糕,但请将其纳入您的设计中。
关于c - 构建 C 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15610939/