构建C应用程序?

css*_*sss 9 c architecture

我打算用C开发一个应用程序.我的编程经验一直是面向对象的语言.因此,在设计应用程序时,我总是在类,接口,继承,多态等方面进行思考.

我看过的所有C书都涉及如何使用C编程或专注于特定主题,我在C中找不到任何关于应用程序架构的讨论.那么当OOP功能是如何构建C应用程序时无法使用?你如何保持一切模块化和组织良好,避免代码重复(没有OOP似乎会有很多代码重复)?

编辑: 我不是在寻找'如何在C中编写OOP代码'的答案.我正在寻找构建C应用程序的标准实践方法,因此它们是模块化的,组织良好.如果标准的练习方法是破解一些OOP功能那么这是公平的,但如果不是那么那么就没有必要告诉我沿着那条路走下去.

Nei*_*end 6

这是一种不同的思维方式.C的核心理念可归纳为:

data + algorithms = programs
Run Code Online (Sandbox Code Playgroud)

所以要用C设计一个应用程序:

  1. 您需要仔细考虑数据是什么,并定义struct反映良好的数据,并促进不同数据视图之间的关系.

  2. 您需要考虑哪些算法将对哪些数据以及它们产生的数据进行操作.这有助于澄清struct您应该具有的内容,并帮助显示应该一起阻止的内容以创建可重用的代码块.

  3. 从OOP方法转向这种方法的一种方法是想象一个struct+一个.c文件=一个类,并在.h文件中放入结构定义和外部可访问的函数(公共方法).

  4. 你必须编写很多代码来做无聊的事情,比如内存分配和释放以及所有的爵士乐.它并没有听起来那么糟糕,而是将其纳入您的设计中.


Pie*_*ers 1

可以使用 C 来练习 TDD,请参阅C 编程和 TDD

如果您习惯于实践 TDD,您就会知道它将帮助您保持代码良好的组织性和模块化。