参考ANSI C中的设计模式?

时间:2009-06-19 14:30:57

标签: c design-patterns

您能指点我参考标准C(C89或C99)中的设计模式吗? (不是C#,而不是C ++。)

4 个答案:

答案 0 :(得分:13)

看看Axel-Tobias Schreiner的电子书Object-Oriented Programming with ANSI-C。你将不得不处理一些模式的某些方面,但你将能够实现许多更简单的GoF。

答案 1 :(得分:7)

设计模式应该与语言无关 - 不幸的是,大多数设计模式都假定面向对象的环境。

Struggling with C coming from Object Oriented land?

答案 2 :(得分:2)

根据Nick的回答,我建议您学习如何使用C实现类似cplusplus的东西(例如,带有指向函数指针表的C结构,模拟带有虚函数的C ++类),这意味着理解C ++是如何由编译器实现的。完成此操作后,您将能够阅读C ++的设计模式并使用C实现它们。

答案 3 :(得分:1)

如果您需要有关实时嵌入式C设计模式的信息,我可以推荐这两本书

  • "实时设计模式:用于实时系统的强大可扩展架构" (Douglass,Bruce Powel | Elsevier |第1版| 2002年)和
  • "嵌入式系统的设计模式C:嵌入式软件工程工具包" (道格拉斯,布鲁斯鲍威尔|爱思唯尔|第1版| 2011年)

一些较高级别的模式取决于"仿真"像之前提到的面向对象的功能。模式描述得非常好(UML图,示例)。我喜欢"部队"的讨论。 (需要考虑什么?)在应用模式后会影响上下文。