Is DOM object-oriented?
От: igna Россия  
Дата: 14.01.13 09:46
Оценка:
Можно ли называть DOM (Document Object Model) объектно-ориентированным?

Один из фундаментальных интерфейсов Node имеет атрибут nodeType; само по себе наличие этого аттрибута не противоречит принципам объектно-ориентированного программирования, но то, что практически любая программа, использующая DOM, вынуждена использовать nodeType, это что, тоже нормально?
Re: Is DOM object-oriented?
От: 0x7be СССР  
Дата: 14.01.13 09:52
Оценка:
Здравствуйте, igna, Вы писали:

I>Можно ли называть DOM (Document Object Model) объектно-ориентированным?

Я не думаю, что на этот вопрос можно дать какой-либо четкий ответ, учитывая отсутствие общепринятых критериев "объектно-ориентированности" чего-либо.
Re[2]: Is DOM object-oriented?
От: igna Россия  
Дата: 14.01.13 09:54
Оценка:
Здравствуйте, 0x7be, Вы писали:

0>Я не думаю, что на этот вопрос можно дать какой-либо четкий ответ, учитывая отсутствие общепринятых критериев "объектно-ориентированности" чего-либо.


Используй свой критерий.
Re: Is DOM object-oriented?
От: dimgel Россия https://github.com/dimgel
Дата: 14.01.13 09:56
Оценка:
Здравствуйте, igna, Вы писали:

I>Можно ли называть DOM (Document Object Model) объектно-ориентированным?


I>Один из фундаментальных интерфейсов Node имеет атрибут nodeType; само по себе наличие этого аттрибута не противоречит принципам объектно-ориентированного программирования, но то, что практически любая программа, использующая DOM, вынуждена использовать nodeType, это что, тоже нормально?


Насколько я понимаю, по подклассам Node PM-ить тоже можно.
Re[3]: Is DOM object-oriented?
От: dimgel Россия https://github.com/dimgel
Дата: 14.01.13 09:57
Оценка: 1 (1) +2
Здравствуйте, igna, Вы писали:

I>Здравствуйте, 0x7be, Вы писали:


0>>Я не думаю, что на этот вопрос можно дать какой-либо четкий ответ, учитывая отсутствие общепринятых критериев "объектно-ориентированности" чего-либо.


I>Используй свой критерий.


А смысл? Зачем вообще париться на сабжевую тему, если каждый в него что хочет может вложить, а практического смысла в этом баззворде получается что ноль.
Re[3]: Is DOM object-oriented?
От: 0x7be СССР  
Дата: 14.01.13 09:57
Оценка:
Здравствуйте, igna, Вы писали:

0>>Я не думаю, что на этот вопрос можно дать какой-либо четкий ответ, учитывая отсутствие общепринятых критериев "объектно-ориентированности" чего-либо.

I>Используй свой критерий.
Тогда скорее да, чем нет
Re[2]: Is DOM object-oriented?
От: igna Россия  
Дата: 14.01.13 09:57
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Насколько я понимаю, по подклассам Node PM-ить тоже можно.


"PM-ить" это ...?
Re[4]: Is DOM object-oriented?
От: igna Россия  
Дата: 14.01.13 09:59
Оценка:
Здравствуйте, dimgel, Вы писали:

D>А смысл? Зачем вообще париться на сабжевую тему, если каждый в него что хочет может вложить, а практического смысла в этом баззворде получается что ноль.


Чтобы узнать, что другие понимают под этим. И говорить с людьми по возможности на одном языке.
Re[3]: Is DOM object-oriented?
От: dimgel Россия https://github.com/dimgel
Дата: 14.01.13 10:02
Оценка:
Здравствуйте, igna, Вы писали:

I>Здравствуйте, dimgel, Вы писали:


D>>Насколько я понимаю, по подклассам Node PM-ить тоже можно.


I>"PM-ить" это ...?


pattern matching.

node match {
    case Element(...) => { ... }
    case Text(...) => { ... }
}
Re[4]: Is DOM object-oriented?
От: igna Россия  
Дата: 14.01.13 10:10
Оценка:
Здравствуйте, dimgel, Вы писали:

D>pattern matching.


D>node match {
D>    case Element(...) => { ... }
D>    case Text(...) => { ... }
D>}


Ну метод (код) для Element здесь не объединен с данными Element, то есть инкапсуляция отсутствует.
Re[5]: Is DOM object-oriented?
От: dimgel Россия https://github.com/dimgel
Дата: 14.01.13 10:12
Оценка:
Здравствуйте, igna, Вы писали:

I>
D>>node match {
D>>    case Element(...) => { ... }
D>>    case Text(...) => { ... }
D>>}
I>


I>Ну метод (код) для Element здесь не объединен с данными Element, то есть инкапсуляция отсутствует.


Re[5]: Is DOM object-oriented?
От: 0x7be СССР  
Дата: 14.01.13 10:16
Оценка:
Здравствуйте, igna, Вы писали:



I>Ну метод (код) для Element здесь не объединен с данными Element, то есть инкапсуляция отсутствует.

А в Визиторе разве не то же самое? Тем не менее он считается ООП паттерном.
Re: Is DOM object-oriented?
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.01.13 06:32
Оценка:
Здравствуйте, igna, Вы писали:

I>Можно ли называть DOM (Document Object Model) объектно-ориентированным?


I>Один из фундаментальных интерфейсов Node имеет атрибут nodeType; само по себе наличие этого аттрибута не противоречит принципам объектно-ориентированного программирования, но то, что практически любая программа, использующая DOM, вынуждена использовать nodeType, это что, тоже нормально?

Скорее да, чем нет.
1. Identity у нас есть — две ноды с совпадающими значениями атрибутов и детей всё ещё вполне себе различимы
2. State есть — ноды оборудованы состоянием, и есть набор способов по изменению этого состояния
3. с Behavior некоторые сложности. Поведение DOM слабо инкапсулировано; из-за замкнутости модели мы можем легко вынести всё это поведение "наружу" и всё ещё иметь практически ту же модель.
Так что на мой вкус, DOM объектно-ориентировано процентов на 70-75.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.