Можете ли вы указать мне ссылку на образцы дизайна в стандарте C (C89 или C99)? (Не С#, а не С++.)
Ссылка на шаблоны проектирования в ANSI C?
Ответ 1
Взгляните на книгу Axel-Tobias Schreiner Объектно-ориентированное программирование с использованием ANSI-C. Вам нужно будет выполнить некоторые аспекты некоторых шаблонов, но вы сможете реализовать многие из более простых GoF.
Ответ 2
Шаблоны проектирования должны быть языковыми агностиками - к сожалению, большинство из них предполагает объектно-ориентированную среду.
Ответ 3
После ответа Ника, я предлагаю вам научиться реализовывать cplusplus-подобные вещи, используя C (например, C-структуру с указателем на таблицу указателей функций, эмулирует класс С++ с виртуальными функциями), что означает понимание как С++ реализуется компилятором. Как только вы это сделаете, вы сможете прочитать шаблоны проектирования для С++ и реализовать их с помощью C.
Ответ 4
Если вам нужна информация о встроенных шаблонах C в реальном времени, я могу рекомендовать две книги
- "Шаблоны проектирования реального времени: надежная масштабируемая архитектура для систем реального времени" (Douglass, Bruce Powel | Elsevier | 1th Edition | 2002) и
- "Шаблоны проектирования для встроенных систем в C: Инструментарий встроенных программных средств" (Douglass, Bruce Powel | Elsevier | 1th Edition | 2011)
Некоторые шаблоны более высокого уровня зависят от "эмуляции" объектно-ориентированных функций, как упоминалось ранее. Шаблоны описываются очень хорошо (UML-диаграммы, примеры). Мне нравятся обсуждения "сил" (что нужно учитывать?), Которые влияют на контекст после применения шаблонов.