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