设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
设计模式绝对不是纸上谈兵的知识,光看书就以为自己懂了,那只是井底之蛙之见,设计模式绝对是从实践中来到实践中去的!如果编码经验很少,也不太可能能理解好设计模式,但凡软件设计能力强的人编码功底都是相当扎实的。
如果没有能深刻理解面向对象,也不太可能理解好设计模式,刚刚毕业或者才工作一两年就说自己面向对象能力强的人,基本上就是夸夸其谈的人。
很明显,我就是属于那种夸夸其谈的人,哈哈,不过希望对本文的总结,让自己更加了解这些设计模式,理解的更加透彻。
var Flower = function () {
};
//普通模式
var sGG = {
sendF lower: function (target) {
var flower = new Flower();
target.receiveFlower(flower);
}
}
var aMM = {
receiveFlower: function (flower) {
console.log('aMM收到花了', flower);
}
}
sGG.sendFlower(aMM);
//设计模式, 通过别的渠道得到自己想要的
var aGM = {
receiveFlower: function (flower) {
aMM.receiveFlower(flower);
}
}
sGG.sendFlower(aGM);
var bMM = {
receiveFlower: function (flower) {
console.log('aMM收到花了', flower);
},
listenGoodMood: function (fn) {
setTimeout(function () {
fn()
},5000)
}
}
//这里就是代理
var bGM = {
receiveFlower: function (flower) {
bMM.listenGoodMood(function () {
bMM.receiveFlower(flower)
})
}
}
sGG.sendFlower(bGM);
详细内容可参考JavaScript设计模式与开发实践