powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли вообще шаблоны проектирования под С?
14 сообщений из 14, страница 1 из 1
Есть ли вообще шаблоны проектирования под С?
    #38000497
Сколько ни видел шаблонов (паттернов) проектирования - все они строятся на основе классов, темплейтов и перегрузки операторов, и соответственно все они под С++.
А есть ли вообще паттерны проектирования без всего этого под С?
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38000522
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблоны проектированияСколько ни видел шаблонов (паттернов) проектирования - все они строятся на основе классов, темплейтов и перегрузки операторов, и соответственно все они под С++.
А есть ли вообще паттерны проектирования без всего этого под С?Встречный вопрос: что мы понимаем под проектированием в "чистом" C? Проектные решения (и их шаблоны), как я это понимаю - способ решать часто возникающие задачи масштаба больше, чем самая большая структурная единица языка.
То есть, для C набор методов, который, по соглашению, принимает первым аргументом указатель на одну и ту же структуру - паттерн проектирования. Создание функции вида Library_GetLastError() - паттерн проектирования.
Ну, или так:
Код: plaintext
1.
2.
3.
4.
struct Singletone* GetSingletone(void){
  static Singletone* ret = BuildSingletoneObject();
  return ret;
}
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38000611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно вопрос срубает еще на самом определении С. Если его с натяжкой
считать языком где можно определить объект . Косвенно. Через какие-то структуры.
Тогда мы имеем почти шаблоны с С. Если взять какую-то надстройку над С типа
Objective-C тогда точно можно.

Короче это предмет спора на тему "можно ли в С создавать объекты, наследоваться e.t.c".
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38000634
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблоны проектированияА есть ли вообще паттерны проектирования без всего этого под
С?
Конечно есть и главный из них это
Код: sql
1.
2.
3.
int main()
{
}


По этому паттерну проектируется всё остальное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001254
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДействительно вопрос срубает еще на самом определении С. Если его с натяжкой
считать языком где можно определить объект . Косвенно. Через какие-то структуры.
Тогда мы имеем почти шаблоны с С. Если взять какую-то надстройку над С типа
Objective-C тогда точно можно.

Короче это предмет спора на тему "можно ли в С создавать объекты, наследоваться e.t.c".Шаблоны проектирования никак не относятся к объектно-ориентированному программированию.
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001256
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблоны проектированияА есть ли вообще паттерны проектирования без всего этого под С?Конечно есть.
По традиции они называются стандартными алгоритмами и структурами данных.
А почитать... ну вот например Кнут на эту тему много писал.
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001294
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlШаблоны проектирования никак не относятся к объектно-ориентированному программированию.
Очевидно я имел в виду объектно-ориентированные шаблоны. К слову, тогда надо спросить автора,
какие из шаблонов он имел в виду. Я знаю что список их ширится и растет.
И практически все из более чем двух десятков шаблонов определяются через UML-диаграммы содержащие
в себе определения в терминах ООП.
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001316
Вот меня тоже интересует, по определению и по смыслу шаблоны проектирования неразрывно связаны с ООП?
Понятно конечно, что можно в функцию передавать структуру, или в структуре держать массив указателей на функции эмулируя ООП.
Встречается ли в классической литературе их описание в отрыве от ООП?
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001497
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlШаблоны проектирования никак не относятся к объектно-ориентированному программированию.
Здрасте.
Шаблоны проектирования это best practices для ООП.

И отвечая на исходный вопрос - т.к. ООП можно реализовать на любом императивном языке, включая С то и шаблоны проектирования там тоже можно реализовать.
Кроме того, если не забывать например что интерфейс это не обязательно класс, а может быть и просто модуль или библиотека или просто одна функция, то некоторые шаблоны применимы в С в явном виде, без необходимости эмулировать ООП.
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001504
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблоны проектированияВот меня тоже интересует, по определению и по смыслу шаблоны проектирования неразрывно связаны с ООП?
Понятно конечно, что можно в функцию передавать структуру, или в структуре держать массив указателей на функции эмулируя ООП.
Встречается ли в классической литературе их описание в отрыве от ООП?Нет "классической" литературы. Книга "банды четырёх", от которой обычно отсчитывают выделение шаблонов проектирования как чего-то отдельного от программирования вообще, была издана в 1994 году. Поскольку последние 20 лет высокоуровневое проектирование в основном имело дело с объектными языками, натурально, изучались шаблоны для объектной парадигмы.
Это же не какая-то штука, которую в один прекрасный момент взял и придумал кто-то конкретный - это просто общее название для определённого класса решений. Скажем, рекурсия - это тоже род архитектурного решения (по проектированию функции), в C обычно неудачного. Если покопаться в старых проектах, которые писались преимущественно на C, в них наверняка можно будет выделить какие-то общие архитектурные приёмы; эти приёмы можно будет описать и назвать паттернами проектирования процедурных языков.
Вопрос только... оно надо?
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001535
А шаблонами проектирования называют best practices для ООП потому, что в именно в ООП легко выделяются общие принципы построение кода или просто потому, что большинство программ пишутся на ООП-языках?
Почему то нигде не встречается нечто подобное для процедурных или функциональных языков.
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001547
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблоны проектированияА шаблонами проектирования называют best practices для ООП потому, что в именно в ООП легко выделяются общие принципы построение кода или просто потому, что большинство программ пишутся на ООП-языках?
Почему то нигде не встречается нечто подобное для процедурных или функциональных языков.Скорее второе, как мне кажется. "Общие" принципы - всё-таки понятие слишком аморфное, разные парадигмы высвечивают разные грани. На основании ООП мы умеем строить большие системы, в которых регулярно возникают архитектурные задачи; в прочих парадигмах на сегодня (насколько я себе это представляю , точных данных у меня нет) обычно отсутствует или первое, или второе. Скажем, логическое программирование использует заметно иные принципы и может применяться для выстраивания достаточно крупных систем... но задачи их построения обычно не называются "архитектурными".
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38001555
AbstractionСкажем, логическое программирование использует заметно иные принципы и может применяться для выстраивания достаточно крупных систем... но задачи их построения обычно не называются "архитектурными".
А не называются потому, что их нельзя системно обобщить на высоком уровне?

Т.е. все таки получается, что нет по крайней мере широко известных шаблонов проектирования для не ООП-языков.
...
Рейтинг: 0 / 0
Есть ли вообще шаблоны проектирования под С?
    #38003085
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблоны проектированияAbstractionСкажем, логическое программирование использует заметно иные принципы и может применяться для выстраивания достаточно крупных систем... но задачи их построения обычно не называются "архитектурными".
А не называются потому, что их нельзя системно обобщить на высоком уровне?Нет, у парадигмы логического программирования довольно узкая область и "архитектуру" на ней обычно не пишут. Намного удобнее и эффективнее встроить модуль обработки данных (написаный на логической парадигме) внутрь системы которая написана на чем-нибудь другом (объектном или имеративном)

шаблоны проектированияТ.е. все таки получается, что нет по крайней мере широко известных шаблонов проектирования для не ООП-языков.Есть они. Возьми хоть работу со списками или деревьями.
Шаблоны проектирования получили известность во времена развития Java. Поэтому они и стали "синонимами" для ОО парадигмы.
Вот, тебе классика, шаблоны проектирования из времен когда про объектную парадигму знали только ученые:
http://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043/ref=pd_sim_b_4
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли вообще шаблоны проектирования под С?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]