Показать сообщение отдельно
  #80 (permalink)  
Старый 05.04.2009, 15:15
Кандидат Javascript-наук
Отправить личное сообщение для kefi Посмотреть профиль Найти все сообщения от kefi
 
Регистрация: 12.03.2009
Сообщений: 148

Сообщение от Dmitry A. Soshnikov
(а) на этапе проектирования (когда подключаются плагины),
Но практически это ничем не отличается от статического ООП программироания в Java. Там так же точно , например, один написал систему в которой определены интерфейсы (или абстрактные классы) общения с объектами этой системы , после чего другие пишут развитие этой системы , реализуя эти интерфейсы. Т.е. это все стадия проектирования, где осуществляется не динамическое , а статическое программирование. Отличие от java в этом случае будет только в гибкости - в javascript можно :
- добавлять новые методы, удалять старые ( причем, в отличие от java, уже реализованные ) ;
- добавленная программма плагина может переопределить методы уже созданных инстанций, если вызывается после их создания.
Но это все , как я вижу, не есть действительно динамические качества программы , которые должны были бы проявляться как изменение тел свойств объектов, построение новых конструкторов со своими методами программой, которая УЖЕ спроектирована , а ее гибкость.

Сообщение от Dmitry A. Soshnikov
(б) - в рантайме, по изменяющимся условиям (например, имена колонок таблиц).
А это действительно будет динамикой , т.е. уже существующая программа умеет создавать новые свойства своим объектам.Но опять же здесь, если я правильно смог понять, это не так целесообразно делать по сравнению со статическим ООП java, т.е. это скорее получается удобная гибкая особенность(фича) языка. Т.е. внешним модулям можно разговаривать с таким объектом свойства которого подстраиваются в зависимости от их требований так :
find_by_name,  find_by_surename ,  find_by_любимое _блюдо  ...

а статическая ООП программа тоже самое будет делать так :
find_by("name"),  find_by("surename"),  find_by("любимое _блюдо")  ...

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

PS Поправьте меня, если я что не так понял и толковал .

Последний раз редактировалось kefi, 05.04.2009 в 15:32.
Ответить с цитированием