Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
Сколько ни видел шаблонов (паттернов) проектирования - все они строятся на основе классов, темплейтов и перегрузки операторов, и соответственно все они под С++. А есть ли вообще паттерны проектирования без всего этого под С? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 14:37 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
шаблоны проектированияСколько ни видел шаблонов (паттернов) проектирования - все они строятся на основе классов, темплейтов и перегрузки операторов, и соответственно все они под С++. А есть ли вообще паттерны проектирования без всего этого под С?Встречный вопрос: что мы понимаем под проектированием в "чистом" C? Проектные решения (и их шаблоны), как я это понимаю - способ решать часто возникающие задачи масштаба больше, чем самая большая структурная единица языка. То есть, для C набор методов, который, по соглашению, принимает первым аргументом указатель на одну и ту же структуру - паттерн проектирования. Создание функции вида Library_GetLastError() - паттерн проектирования. Ну, или так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 14:44 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
Действительно вопрос срубает еще на самом определении С. Если его с натяжкой считать языком где можно определить объект . Косвенно. Через какие-то структуры. Тогда мы имеем почти шаблоны с С. Если взять какую-то надстройку над С типа Objective-C тогда точно можно. Короче это предмет спора на тему "можно ли в С создавать объекты, наследоваться e.t.c". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 15:21 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
шаблоны проектированияА есть ли вообще паттерны проектирования без всего этого под С? Конечно есть и главный из них это Код: sql 1. 2. 3. По этому паттерну проектируется всё остальное. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 15:29 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
maytonДействительно вопрос срубает еще на самом определении С. Если его с натяжкой считать языком где можно определить объект . Косвенно. Через какие-то структуры. Тогда мы имеем почти шаблоны с С. Если взять какую-то надстройку над С типа Objective-C тогда точно можно. Короче это предмет спора на тему "можно ли в С создавать объекты, наследоваться e.t.c".Шаблоны проектирования никак не относятся к объектно-ориентированному программированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 20:07 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
шаблоны проектированияА есть ли вообще паттерны проектирования без всего этого под С?Конечно есть. По традиции они называются стандартными алгоритмами и структурами данных. А почитать... ну вот например Кнут на эту тему много писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 20:10 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
White OwlШаблоны проектирования никак не относятся к объектно-ориентированному программированию. Очевидно я имел в виду объектно-ориентированные шаблоны. К слову, тогда надо спросить автора, какие из шаблонов он имел в виду. Я знаю что список их ширится и растет. И практически все из более чем двух десятков шаблонов определяются через UML-диаграммы содержащие в себе определения в терминах ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 20:47 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
Вот меня тоже интересует, по определению и по смыслу шаблоны проектирования неразрывно связаны с ООП? Понятно конечно, что можно в функцию передавать структуру, или в структуре держать массив указателей на функции эмулируя ООП. Встречается ли в классической литературе их описание в отрыве от ООП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 21:05 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
White OwlШаблоны проектирования никак не относятся к объектно-ориентированному программированию. Здрасте. Шаблоны проектирования это best practices для ООП. И отвечая на исходный вопрос - т.к. ООП можно реализовать на любом императивном языке, включая С то и шаблоны проектирования там тоже можно реализовать. Кроме того, если не забывать например что интерфейс это не обязательно класс, а может быть и просто модуль или библиотека или просто одна функция, то некоторые шаблоны применимы в С в явном виде, без необходимости эмулировать ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 23:51 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
шаблоны проектированияВот меня тоже интересует, по определению и по смыслу шаблоны проектирования неразрывно связаны с ООП? Понятно конечно, что можно в функцию передавать структуру, или в структуре держать массив указателей на функции эмулируя ООП. Встречается ли в классической литературе их описание в отрыве от ООП?Нет "классической" литературы. Книга "банды четырёх", от которой обычно отсчитывают выделение шаблонов проектирования как чего-то отдельного от программирования вообще, была издана в 1994 году. Поскольку последние 20 лет высокоуровневое проектирование в основном имело дело с объектными языками, натурально, изучались шаблоны для объектной парадигмы. Это же не какая-то штука, которую в один прекрасный момент взял и придумал кто-то конкретный - это просто общее название для определённого класса решений. Скажем, рекурсия - это тоже род архитектурного решения (по проектированию функции), в C обычно неудачного. Если покопаться в старых проектах, которые писались преимущественно на C, в них наверняка можно будет выделить какие-то общие архитектурные приёмы; эти приёмы можно будет описать и назвать паттернами проектирования процедурных языков. Вопрос только... оно надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 23:59 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
А шаблонами проектирования называют best practices для ООП потому, что в именно в ООП легко выделяются общие принципы построение кода или просто потому, что большинство программ пишутся на ООП-языках? Почему то нигде не встречается нечто подобное для процедурных или функциональных языков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 00:54 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
шаблоны проектированияА шаблонами проектирования называют best practices для ООП потому, что в именно в ООП легко выделяются общие принципы построение кода или просто потому, что большинство программ пишутся на ООП-языках? Почему то нигде не встречается нечто подобное для процедурных или функциональных языков.Скорее второе, как мне кажется. "Общие" принципы - всё-таки понятие слишком аморфное, разные парадигмы высвечивают разные грани. На основании ООП мы умеем строить большие системы, в которых регулярно возникают архитектурные задачи; в прочих парадигмах на сегодня (насколько я себе это представляю , точных данных у меня нет) обычно отсутствует или первое, или второе. Скажем, логическое программирование использует заметно иные принципы и может применяться для выстраивания достаточно крупных систем... но задачи их построения обычно не называются "архитектурными". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 01:09 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
AbstractionСкажем, логическое программирование использует заметно иные принципы и может применяться для выстраивания достаточно крупных систем... но задачи их построения обычно не называются "архитектурными". А не называются потому, что их нельзя системно обобщить на высоком уровне? Т.е. все таки получается, что нет по крайней мере широко известных шаблонов проектирования для не ООП-языков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 01:27 |
|
||
|
Есть ли вообще шаблоны проектирования под С?
|
|||
|---|---|---|---|
|
#18+
шаблоны проектированияAbstractionСкажем, логическое программирование использует заметно иные принципы и может применяться для выстраивания достаточно крупных систем... но задачи их построения обычно не называются "архитектурными". А не называются потому, что их нельзя системно обобщить на высоком уровне?Нет, у парадигмы логического программирования довольно узкая область и "архитектуру" на ней обычно не пишут. Намного удобнее и эффективнее встроить модуль обработки данных (написаный на логической парадигме) внутрь системы которая написана на чем-нибудь другом (объектном или имеративном) шаблоны проектированияТ.е. все таки получается, что нет по крайней мере широко известных шаблонов проектирования для не ООП-языков.Есть они. Возьми хоть работу со списками или деревьями. Шаблоны проектирования получили известность во времена развития Java. Поэтому они и стали "синонимами" для ОО парадигмы. Вот, тебе классика, шаблоны проектирования из времен когда про объектную парадигму знали только ученые: http://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043/ref=pd_sim_b_4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 17:55 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38001535&tid=2020746]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
379ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 481ms |

| 0 / 0 |
