ООП в javascript. Алгоритмы построения приложений
Уже очень долго изучаю объектно-ориентированную методологию в построении приложений.
Понимаю плюсы от такого подхода и уже изучил не мало всяких статей на эту тему. Но применить практически свои знания не получается. В тех примерах, которые видел речь идет о примитивных задачах (кролик бежит, кролика накормили..), но на практике получается так, что помимо "кролика" есть еще много не взаимосвязанных сущностей( У меня есть готовое рабочее приложение. Его можно разделить на 3 части: 1) Функции отвечающие за drag-n-drop. 2) Функции на события нажатия кнопок 3) Функции, работающие с Storage. Само приложение простенькое: Пользователь перемещает элементы(1) и сохраняет текущие значения в Storage(3). Работает с текущими сохраненными данными(2). Как это сделать единым целым я понять не могу( Вот к примеру - взять jQuery. Там "кролик" - это элемент, jQuery манипулирует им. Все просто. Но что взять за основу в моем приложении? Или основ должно быть несколько, которые взаимодействуют между собой? Буду рад любым ссылкам и советам! |
Цитата:
function a(data){ this.data=data; ..... } a.prototype.b=function(data){ действия над this.data..... return this;} a.prototype.c=function(data){действия над this.data..... return this;} a.prototype.d=function(data){действия над this.data..... return this;} a.prototype.я=function(data){действия над this.data..... return какоето значение если метод должен чегото вернуть конкретное..} $=new a('elem'); $.d(data1).c(data2)..... |
|
dmitriymar,
ага... я что-то ступил.. |
ООП это ответ на высокую сложность приложений.
Вы неувидите потребности в ООП работая над jQuery плагином. Чтобы появилась необходимость решите такую задачу. Сделайте 3 плагина для отображения содержимого тега TABLE 1) GRID'ом, 2) плиткой 3) списком UL/LI Надо быть слепым чтобы не заметить уйму общих методов для всех 3х плагинов. Вот тут и появляется необходимость в ООП. определите все общие методы, и вынесите их в отдельный класс. напишите три плагина наследующих от базового класса, общие методы. Ещё раз повторю работая над одним плагином, необходимость в ооп возникнет едвали. Она чувствуется в крупных формах, вроде приложений из десятков компонентов, или комплексе/наборе Плагинов UPD в вашем примере невижу необходимости в наследовании и полиморфизме. Инкапсуляция, и абстракция - да. Тоесть я непонимаю зачем вам ООП, что в базовый класс выносить собрались ? |
Цитата:
|
Цитата:
Масимальномаксимальный уже не тот, с годами его становится понимать всё сложнее :D |
Цитата:
|
iMaxmaxmaximus,
10000110001 10001001011 10000111011 10000111110 10000110001 10001001011 10000111010 10000111110 10000111100 10001000011 10001000011 10001000111 10000111000 10001000010 10001001100 ) |
имхо, лучше сейчас начинать учить функциональщину, пока императивщина и ООП не проели мозг до конца.
да и сейчас всё чаще вижу (на том же хабре) статьи про функциональное программирование. я пока начал вникать (вникаю на JS, не на хаскеле), это очень трудно, но это совершенно другой мир - более логичный и простой. |
Часовой пояс GMT +3, время: 11:25. |