Итак, в честь 34 минусов, привожу свой вариант статьи
Паттерны в javascript
Decorator
var Ball = function () {
}
Ball.prototype = new Object()
Ball.prototype.draw = function () {
console.log(«draw ball»)
}
var StripedBall = function () {
Ball.apply(this, arguments)
}
StripedBall.prototype = new Ball()
StripedBall.prototype.draw = function () {
Ball.prototype.draw.apply(this, [])
console.log(«with stripes!»)
}
Factory
Важно понимать, что паттерны в общем случае это все же не готовые классы, это не код, это парадигмы, реализация которых в принципе не так важна
О чем лучше сказать человеку в такой теме, особенно если он первый раз узнает про такой паттерн, нужен ли ему огрод
var Shapes = { Circle: function ()…?
// i dont think so
var createCircle = funciton ()…
// или
var Shape = function ()…
Shape.createCircle = function ()…
Водицы полили, далее
Singleton
Процитирую автора: это объект, который есть в системе в одном экземпляре
window.singleton = new Objet()
что еще добавить? добавить нечего, увы
Memoization — жевали в комментариях
Mediator — реализация в статье, феерический п@#$%ц, вы только вдумайтесь в эго код. Пацаны с "-34" делают так:
var Daddy = function (kitchen) {
this.kitchen = kitchen
}
Daddy.prototype = new Object()
Daddy.prototype.getBeer = function () {
if (! this.kitchen…
}
var Mammy = function (kitchen) {
…
}
…
var Kitchen = function () {
refrigerator = new BeerStorage(999)
stash = new BeerStorage(888)
…
}
…
Все очень приблизительно, но то что выдал автор вообще уму не постижимо. Коллеги знают о Медиаторе, Медиатор знает о коллегах. Вообще такой пример было бы разумно реализовывать на событиях, которые описаны длаее
Observer — реализовать можно по разному, много хороших разных реализаций, лучше использовать стороннюю, $.on/$.off so on. Хотя реализация в статье, можно сказать, раскрывает суть, сойдет для ознакомления.
P.S. Весь комментарий и код набраны в блокноте, ни разу не проверялись, комментарии ниже так же особо не мониторились. Извините если повторяюсь, и думайте головой, пожалуйста, вы сюда плюсы пришли ставить или свет нести?
Есть такая поговорка про простреленные ноги, но у вас другой бич, вы так тщательно пытаетесь упаковаться в бронежилеты что в конечном счете умираете от перегрева, я серьезно.
прошел по диагонали, суть вода. как можно забыть такие короткие команды, не понимаю. документирование в коде есть и для пыха и для сей, культура разработки автора такова, очевидно, что он аж своего кода не заскринил. что сказать-то хотел? умный человек сам себе мейкфайл набросает при необходимости, новичку же нужно понимать как что работает…
это все хорошо но когда это аякс иногда валидация с сервера, даже при асинхронном запросе, работает мягко говоря мучительно, особенно если форма большая и сложная. мне в проекте пришлось дописывать еще клиент-сайд валидаторы, и только после валидности всех полей идет запрос аякса. хотелось бы видеть автоматическую генерацию таких вот правил, или хотя бы либу для прописывания их в формах а не отдельно, но пока это только мечты :)
По-моему Википедия считает что все ей прям таки платить обязаны. Я понимаю, миссия, все такое. Но суммы как-то уж слишком велики, на такие деньги можно нанять специалистов и оптимизировать движок а не докупать сервера и тратиться на ненужный ПР. Может скоро введут налог спецом для Википедии? И разве так уж плохо было бы размещать там маленький тоненький баннер, или хотя бы маленькую голубенькую ссылочку, какого-то, к примеру, Майкрософта?
я как раз разрабатываю анимацию сворачивания-разворачивания сложной страницы, перегруженной графикой, и должен сказать что обычный jquery slide тормозит не только на мобильниках, но иногда и на писюках, причем довольно мощных. в последних версиях браузеров (те что беты или еще не распространены) все конечно шикарно, но…
и пришли мои мысли к такому же решению, только вот пока руки не дошли попробовать
а есть ли что-то похожее для фф, даже в ксс3, его же держит частично и третья версия?
о да-да, минусуйте, хомячье. странно, но ничего кроме скайпа мое начальство не снифает. а скайп пожалуйста. странно, но ничего кроме скайпа на моей памяти само не обновляется, а скайп пожалуйста. странно, но мы еще посмотрим когда он теперь подымется, надеюсь, не скоро.
Паттерны в javascript
Decorator
var Ball = function () {
}
Ball.prototype = new Object()
Ball.prototype.draw = function () {
console.log(«draw ball»)
}
var StripedBall = function () {
Ball.apply(this, arguments)
}
StripedBall.prototype = new Ball()
StripedBall.prototype.draw = function () {
Ball.prototype.draw.apply(this, [])
console.log(«with stripes!»)
}
Factory
Важно понимать, что паттерны в общем случае это все же не готовые классы, это не код, это парадигмы, реализация которых в принципе не так важна
О чем лучше сказать человеку в такой теме, особенно если он первый раз узнает про такой паттерн, нужен ли ему огрод
var Shapes = { Circle: function ()…?
// i dont think so
var createCircle = funciton ()…
// или
var Shape = function ()…
Shape.createCircle = function ()…
Водицы полили, далее
Singleton
Процитирую автора: это объект, который есть в системе в одном экземпляре
window.singleton = new Objet()
что еще добавить? добавить нечего, увы
Memoization — жевали в комментариях
Mediator — реализация в статье, феерический п@#$%ц, вы только вдумайтесь в эго код. Пацаны с "-34" делают так:
var Daddy = function (kitchen) {
this.kitchen = kitchen
}
Daddy.prototype = new Object()
Daddy.prototype.getBeer = function () {
if (! this.kitchen…
}
var Mammy = function (kitchen) {
…
}
…
var Kitchen = function () {
refrigerator = new BeerStorage(999)
stash = new BeerStorage(888)
…
}
…
Все очень приблизительно, но то что выдал автор вообще уму не постижимо. Коллеги знают о Медиаторе, Медиатор знает о коллегах. Вообще такой пример было бы разумно реализовывать на событиях, которые описаны длаее
Observer — реализовать можно по разному, много хороших разных реализаций, лучше использовать стороннюю, $.on/$.off so on. Хотя реализация в статье, можно сказать, раскрывает суть, сойдет для ознакомления.
P.S. Весь комментарий и код набраны в блокноте, ни разу не проверялись, комментарии ниже так же особо не мониторились. Извините если повторяюсь, и думайте головой, пожалуйста, вы сюда плюсы пришли ставить или свет нести?
и пришли мои мысли к такому же решению, только вот пока руки не дошли попробовать
а есть ли что-то похожее для фф, даже в ксс3, его же держит частично и третья версия?
>> двери открыты