Ссылка на шаблоны проектирования в ANSI C? - PullRequest
10 голосов
/ 19 июня 2009

Можете ли вы указать мне ссылку на шаблоны проектирования в стандарте C (C89 или C99)? (Не C #, не C ++.)

Ответы [ 4 ]

13 голосов
/ 19 июня 2009

Взгляните на книгу Акселя-Тобиаса Шрайнера. Объектно-ориентированное программирование с использованием ANSI-C . Вам нужно будет обработать некоторые аспекты некоторых шаблонов, но вы сможете реализовать многие из более простых GoF.

7 голосов
/ 19 июня 2009

Шаблоны проектирования должны быть независимыми от языка - к сожалению, большинство из них предполагают объектно-ориентированную среду.

Вы боретесь с C, исходящим из Объектно-ориентированной земли?

2 голосов
/ 19 июня 2009

Исходя из ответа Ника, я предлагаю вам научиться реализовывать cplusplus-подобные вещи с использованием C (например, структура C с указателем на таблицу указателей на функции, эмулирует класс C ++ с виртуальными функциями), что означает понимание как C ++ реализован компилятором. Сделав это, вы сможете читать шаблоны проектирования для C ++ и реализовывать их, используя C.

1 голос
/ 19 октября 2015

Если вам нужна информация о встраиваемых шаблонах проектирования C в реальном времени, я могу порекомендовать две книги

  • «Шаблоны проектирования в реальном времени: надежная масштабируемая архитектура для систем реального времени» (Дуглас, Брюс Пауэл | Elsevier | 1-е издание | 2002) и
  • «Шаблоны проектирования для встраиваемых систем в C: инструментарий разработки встроенного программного обеспечения» (Дуглас, Брюс Пауэл | Elsevier | 1-е издание | 2011 г.)

Некоторые из шаблонов более высокого уровня зависят от «эмуляции» объектно-ориентированных функций, как упоминалось ранее. Шаблоны очень хорошо описаны (диаграммы UML, примеры). Мне нравятся дискуссии о «силах» (что нужно учитывать?), Которые влияют на контекст после применения шаблонов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...