Когда я должен создавать плагин, а когда нет? Лучше ли создать плагин и все что угодно (Data, Logic, View) в плагине и использовать его как черный ящик или разделить Data, Logic и View?Когда мы не должны создавать плагин jquery?
ответ
Когда я должен создавать плагин и , если нет? Лучше ли создать плагин и все (данные, Logic, View) внутри плагина и использовать это как черный ящик или для разделения Данные, логика и вид?
Когда вы решите распространять/делиться своим кодом с другими, которые работают из коробки или что-то более простое для других.
Я также хотел бы предложить вам взглянуть на:
... Зависит вы будете необходимости делать то же самое снова и снова с небольшими вариациями? Тогда да. Я думаю, что это должно протекать естественным образом - если вы постоянно нуждаетесь в модификации плагина для размещения новых функций, что делает его раздутым, тогда вам, вероятно, лучше без него.
Я думаю, что это так просто, как это: в любое время вы планируете писать функцию следующим образом:
function myUsefulThing($j) {
$j.find('.button').trigger('click');
// ...
}
и вы планируете назвать это так:
if (itIsTime) myUsefulThing($('#mainDiv .bigTable'));
тогда вам явно нужен плагин. Иначе говоря, когда фокус части кода включает DOM, и вы хотите предоставить некоторые средства, которые нуждаются в указании относительно того, какая часть DOM должна быть затронута, тогда вы должны написать плагин.
Если у вас есть что-то делать, что не имеет ничего, в частности, связаны с какой-либо частью DOM, то вы могли добавить «глобальную» функцию JQuery (как $.map()
или $.ajax()
), но случай для этого слабее. Он сокращает глобальное использование пространства имен, но это торгуется для загрязнения пространства имен jQuery. ()
Упрощенный для отличной ссылки. – HurnsMobile
Обменный код хорош, и обмен плагинами хорош, но есть код для совместного использования, который не очень подходит как плагин jQuery, и плагины jQuery, которые являются хорошей идеей, но не обязательно что-то совместное. Тем не менее, мне тоже нравится ссылка :-) – Pointy
@Pointy: Спасибо и +1 вам за подробный ответ с примером кода. – Sarfraz