您能指点我参考标准C(C89或C99)中的设计模式吗? (不是C#,而不是C ++。)
答案 0 :(得分:13)
看看Axel-Tobias Schreiner的电子书Object-Oriented Programming with ANSI-C。你将不得不处理一些模式的某些方面,但你将能够实现许多更简单的GoF。
答案 1 :(得分:7)
设计模式应该与语言无关 - 不幸的是,大多数设计模式都假定面向对象的环境。
答案 2 :(得分:2)
根据Nick的回答,我建议您学习如何使用C实现类似cplusplus的东西(例如,带有指向函数指针表的C结构,模拟带有虚函数的C ++类),这意味着理解C ++是如何由编译器实现的。完成此操作后,您将能够阅读C ++的设计模式并使用C实现它们。
答案 3 :(得分:1)
如果您需要有关实时嵌入式C设计模式的信息,我可以推荐这两本书
一些较高级别的模式取决于"仿真"像之前提到的面向对象的功能。模式描述得非常好(UML图,示例)。我喜欢"部队"的讨论。 (需要考虑什么?)在应用模式后会影响上下文。