25.03.2009, 00:00
|
Кандидат Javascript-наук
|
|
Регистрация: 12.03.2009
Сообщений: 148
|
|
2 x-yuri > Мне кажется не в привычках дело, а в моделях (паттернах) и соответствено подходах к их построению , В классическом ООП создано много полезных моделей, не использовать которые было бы странно . Вообще До объектного подхода языками программирования не предлагалось никаких прикладных моделей . Модель - это главное слово в программировании. Поэтому не стесняюсь повторить его столько раз.
Конечно все imho, но как-то не вижу аргументов против.
|
|
25.03.2009, 00:46
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
я так понимаю, речь идет о паттернах. Потому что под моделью я понимаю нечто, обладающее основными свойствами моделируемой сущности
так вот, имхо, паттерны находятся на более высоком уровне, на котором не важно, классическое это наследование или прототипное. По-крайней мере, сходу никаких проблем с этим связанных в голову не приходит
|
|
25.03.2009, 13:39
|
Кандидат Javascript-наук
|
|
Регистрация: 12.03.2009
Сообщений: 148
|
|
2 x-yuri >
Я так понимаю - модель есть фундаментальное сильное красивое слово, которым можно обозначить все, что угодно, важно только понимать его смысл(отражение (и реализация этого отражения) некого предмета(предметной области) для достижения поставленной цели). Паттерн, разумеется, тоже модель, причем для своей реализации использующий как раз подходы ООП.
Т.е., паттерны (шаблоны), по-моему ( если ошибаюсь, докажите ) находятся как раз на уровне , привязаном к OOП. Просто я не встречал шаблонов для прототипного программирования (ПП), если Вы встречали - укажите где.
Из вышесказанного следует также отношение к вопросу - нужно ли использовать обертки для эмулирования классов:
классовые обертки позволяют сделать язык (т.е. инструмент) создания моделей более ясным (и значит, эффективным), что для реальных (т.е сложных) задач единственно возможный путь достуижения адекватного результата . Хотя опять же , что поднимать под обертками - я , например, пока предпочел бы пользоваться парой функций extend и mixing из http://javascript.ru/tutorial/object...nktsiia-extend а создаваемые с помощью их классы (Конструктор + наполнение его прототипа методами) оформлять текстуально в примечаниях (// Класс A ...<Здесь его конструктор A и наполнение его прототипа A.prototype > // Конец класса A) , что по моему как раз будет соответсвующим той гибкости, ради которой и задумывалось ПП.
Последний раз редактировалось kefi, 25.03.2009 в 14:07.
|
|
25.03.2009, 14:53
|
...
|
|
Регистрация: 09.03.2008
Сообщений: 216
|
|
Сообщение от kefi
|
я , например, пока предпочел бы пользоваться парой функций extend и mixing
|
Это нельзя назвать шаблоном для ПП?
|
|
25.03.2009, 16:12
|
Кандидат Javascript-наук
|
|
Регистрация: 12.03.2009
Сообщений: 148
|
|
2 Zeroglif > Можно, Но что с этого ? Это шаблон для эмуляции классового наследования (или, если хотите, классов ),т.е. это низкоуровневый шаблон. А шаблоны, о которых я вел речь выше, есть шаблоны построения из классов прикладных моделей . Есть такие для ПП ? Я не настаиваю, может и есть, я просто спрашииваю.
|
|
25.03.2009, 16:19
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
kefi, они просто есть, вне зависимости от ООП это или ПП. Возможно в обоих парадигмах есть специализированые. Но есть общие более высокого уровня (и таких, думаю, большинство). Поправьте, если ошибаюсь. Есть какие-нибудь примеры шаблонов, которые нельзя реализовать с помощью ПП?
|
|
25.03.2009, 17:04
|
Кандидат Javascript-наук
|
|
Регистрация: 12.03.2009
Сообщений: 148
|
|
2 x-yuri > Мне кажется, что патерны получили свое происхождение от ООП, и модели, которые они предлагают в проектировании оперируют понятиями класса , для прототипа же имеется отдельный шаблон, его использование во взаимосвязи с остальными еще нужно поизучать ...
Вот почитайте , http://ru.wikipedia.org/wiki/Шаблоны_проектирования .
Есть ли примеры, которые нельзя реализовать с помощью ПП, не знаю, но думаю, что есть, которые будут встречать большие трудности , чем их ООП реализации.
|
|
25.03.2009, 18:33
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
kefi, ПП в некотором смысле сродни динамическим языкам. Кроме того, так же как при попытке эмуляции классического наследования нужно придерживаться некоторых соглашений, так и при реализации паттернов не будет такого жесткого контроля, как при использовании статических языков. Т.е. дело скорее в динамичности языка, чем в прототипном наследовании. Но ведь шаблоны вполне себе применяются в динамических языках
Кроме того, я не понимаю чем прототипное наследование так отличается от классического, что паттерны к нему неприменимы. Тем более, что вы рассматриваете не "низкоуровневые шаблоны", а "шаблоны построения из классов прикладных моделей" (хоть я и не понимаю, что последнее значит, но это, похоже, высокоуровневые шаблоны имеются в виду)
|
|
|
|