我打算用C开发一个应用程序.我的编程经验一直是面向对象的语言.因此,在设计应用程序时,我总是在类,接口,继承,多态等方面进行思考.
我看过的所有C书都涉及如何使用C编程或专注于特定主题,我在C中找不到任何关于应用程序架构的讨论.那么当OOP功能是如何构建C应用程序时无法使用?你如何保持一切模块化和组织良好,避免代码重复(没有OOP似乎会有很多代码重复)?
编辑: 我不是在寻找'如何在C中编写OOP代码'的答案.我正在寻找构建C应用程序的标准实践方法,因此它们是模块化的,组织良好.如果标准的练习方法是破解一些OOP功能那么这是公平的,但如果不是那么那么就没有必要告诉我沿着那条路走下去.
这是一种不同的思维方式.C的核心理念可归纳为:
data + algorithms = programs
Run Code Online (Sandbox Code Playgroud)
所以要用C设计一个应用程序:
您需要仔细考虑数据是什么,并定义struct反映良好的数据,并促进不同数据视图之间的关系.
您需要考虑哪些算法将对哪些数据以及它们产生的数据进行操作.这有助于澄清struct您应该具有的内容,并帮助显示应该一起阻止的内容以创建可重用的代码块.
从OOP方法转向这种方法的一种方法是想象一个struct+一个.c文件=一个类,并在.h文件中放入结构定义和外部可访问的函数(公共方法).
你必须编写很多代码来做无聊的事情,比如内存分配和释放以及所有的爵士乐.它并没有听起来那么糟糕,而是将其纳入您的设计中.
| 归档时间: |
|
| 查看次数: |
465 次 |
| 最近记录: |