js开放——封闭模式
来源:互联网 发布:ubuntu 14.04 iso下载 编辑:程序博客网 时间:2024/05/01 07:16
<h1>开放——封闭原则</h1> <p>在面向 对象的程序设计中,开放——封闭原则(OCP)是最重要的一条原则。一个程序具有良好的设计,往往说明它是符合开放——封闭原则。</p> <p>开放——封闭的原则思想:当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增加代码的方式,但不可以改动程序的源代码。</p>、 <p>用对象的多态性消除条件分支</p> <script> var makeSound = function( animal ){ animal.sound(); }; var Duck = function(){}; Duck.prototype.sound = function(){ console.log( "嘎嘎嘎" ); }; var Chicken = function(){}; Chicken.prototype.sound = function(){ console.log( "咯咯咯" ); }; makeSound( new Duck() ); makeSound( new Chicken() ); /*增加动物狗,不用改动原有的makeSound函数*/ var Dog = function(){}; Dog.prototype.sound = function(){ console.log( "汪汪汪" ); }; makeSound( new Dog() ); </script> <p>开放——封闭原则:找出变化的地方</p> <p>通过封装变化的方式,可以把系统中稳定不变的部分和容易变化的部分隔离开来。在系统的演化过程中,我们只需要替换那些 容易变化的部分,如果这些部分是已经被封装好的,那么替换起来也相对容易。而变化之外是稳定的部分。在系统的演变过程,稳定的部分是不需要改变的。</p> <h1>使用回调函数</h1> <script> //arrayMap函数的作用是把一个数组“映射”为另一个函数。映射的步骤是不变的,而映射的规则是可变的,于是我们把这部分规则放在回调函数中,传入arrayMap函数: var arrayMap = function( ary, callback ){ var i = 0, length = ary.length, value, res = []; for( ; i < length; i++ ){ value = callback( i, ary[ i ] ); res.push( value ); } return res; }; var a = arrayMap( [ 1, 2, 3, 34 ], function( i, n ){ return n*2; } ); console.log( a ); </script> <h1>设计模式中的开放——封闭原则</h1> <p>1.发布——订阅模式</p> <p>2.模板方法模式</p> <p>3.策略模式</p> <p>4.代理模式</p> <p>5.职责链模式</p>
0 0
- js开放——封闭模式
- 设计模式——开放-封闭原则
- 设计模式——开放封闭原则
- 设计模式—开放-封闭原则
- 设计模式—开放-封闭原则
- 开放—封闭原则
- 设计模式之四——开放-封闭原则
- 设计模式——开放封闭与依赖倒置
- 【大话设计模式】笔记——开放封闭原则
- 设计模式心得(四) 开放——封闭原则
- 《读书笔记》设计模式——开放-封闭原则
- JAVA设计模式(二十三)——开放封闭原则
- 设计模式四——开放-封闭原则
- 《大话设计模式》——原则:开放-封闭原则
- 设计模式六大原则——开放封闭原则
- 设计模式原则—开放封闭原则(一)
- java-开放—封闭原则
- 设计模式-开放封闭
- 单子设计模式(Singleton Pattern)
- EF+SQLSERVER控制并发下抢红包减余额(改进)
- Easypack之Alpine容器系列:Jenkins
- 估算程序的运行效率
- hdu5249--权值线段树
- js开放——封闭模式
- 磁盘分区
- 为什么我们现在很难在大陆使用google搜索引擎??
- SSH框架分析与总结
- 算法提高 简单加法
- [笔记]机器学习(Machine Learning) - 01.线性回归(Linear Regression)
- 读书笔记:人类简史第一章
- 洛谷试练场神奇解法 独木桥 BF
- Effective前端6:避免页面卡顿