Является ли метод jQuery образцом плавного программирования? - PullRequest
4 голосов
/ 03 августа 2010

Я немного новичок в JavaScript / jQuery, но когда я увидел примеры цепочки методов, она сразу показалась мне знакомой.Другие интерфейсы, такие как LINQ, делают нечто подобное, когда тип возвращаемого набора методов совпадает с типом, с которым они работают (TweetSharp делает что-то очень похожее).Это пример свободного программирования?Многое из того, что я читал о jQuery, говорит о том, что другие библиотеки «заимствовали» эту идею цепочки методов - возникла ли эта идея в jQuery?

Ответы [ 3 ]

6 голосов
/ 03 августа 2010

jQuery действительно в значительной степени следует шаблону строителя / плавному интерфейсу , но, безусловно, не является пионером шаблона проектирования в целом. Другие библиотеки, вероятно, последовали за jQuery и заимствовали его подход. Это просто известность, созданная jQuery, которая делает его похожим на jQuery.

2 голосов
/ 03 августа 2010

Цепочка в одиночку не дает свободного интерфейса. Термин «свободный интерфейс» , похоже, популяризировал Мартин Фаулер, один из наиболее плодовитых современных авторов теории программного обеспечения (хотя он и не изобрел методику).

Фаулер поясняет, что цепочка методов просто ссылается на методы, которые возвращают ссылку на объект, в то время как свободный интерфейс больше похож на язык, специфичный для предметной области, и (в идеале) предназначен для работы больше как естественный язык, чем код.

1 голос
/ 03 августа 2010

JQuery, конечно, не изобрел цепочки методов; это было уже возможно в JavaScript и многих других языках.

Цепочка методов была, возможно, узаконена в глазах многих людей JQuery. Многие Java-программисты все еще настаивают на том, чтобы функции объекта возвращали только других объектов, но не сам объект. Насколько я помню, 10 лет назад меня отключили из списка рассылки Java, чтобы предложить другое :)

...