Шаблон посредника в вопросах JavaScript

Я создаю своего рода библиотеку на основе посредника для моей работы. Мы создаем множество приложений, поэтому мне нужно было что-то, что можно было бы легко взять и изменить для каждого приложения. Я также хочу, чтобы было достаточно легко создавать «виджеты» (из-за отсутствия лучшего термина) и легко удалять их, не беспокоясь о том, что что-нибудь сломается. Многие из этих приложений, которые мы делаем, также могут быть расширены сторонними разработчиками, создающими приложения или виджеты для приложений.

Так я наткнулся на шаблон посредника. Я написал кое-что, что работает примерно так:

//Extend
Core.extend('widget',function(params){
  alert(params.message);
});

//Load it
Core.load('widget',{message:'Hello World'});

//Remove it
Core.remove('widget');

У меня есть 3 вопроса:

  1. Как / должны вы справляться с манипуляциями с DOM в этом шаблоне с помощью JavaScript? Я не хочу, чтобы разработчики возились с DOM за пределами своего виджета.

  2. Как и что вы должны делать с запросами AJAX. Стоит ли вообще что-нибудь делать? Стоит ли вам просто предложить вызов AJAX / JSONP в библиотеке ( Core в этом примере).

  3. Мой самый большой вопрос, как вы на самом деле взаимодействуете с другими виджетами? Я не хочу тесную пару (очевидно), но я не понимаю, как вы будете взаимодействовать с другим виджетом. Например, предположим, что у вас есть текстовое поле, и при отправке оно отправляет его в БД. Как может другой виджет называть его виджетом «шкала времени», теперь, когда он был отправлен, а затем обновить шкалу времени текстом из виджета текстового поля?

=== UPDATE ===

Я закончил писать это:

http://oscargodson.github.com/Core.js/

6
задан Oscar Godson 13 September 2011 в 04:04
поделиться