设计模式
-
前端的设计模式 — 发布-订阅模式
发布-订阅模式: 发布-订阅模式又叫做观察者模式,定义了对象之间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖与它的对象都将得到通知. 发布-订阅模式广泛应用于异步编程之中,是一种替代回调函数的方案.多个事件处理函数可以订阅同一个事件,当该事件发生后,与其相对应的多个事件处理函数都会运行 取代对象之间硬编码的通知机制,一个对象不用再显示的调用另外一个…
-
前端的设计模式 — 混合模式
混合模式 function Person(name,age){ this.name = name; this.age = age; }; Person.prototype.printName = function(){ console.log(this.name); } function Student(name,age){ 继承 Person 的属性 Pe…
-
java设计模式演示样例
创建模式 1.工厂方法模式(Factory Method) 将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到详细的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。 public class TestFactoryMethod { public static void main(Str…
-
JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就…
-
Java设计模式———观察者模式
以下内容主要来自《HeadFirst设计模式》一书和博文:http://www.cnblogs.com/xrq730/p/4908686.html,仅作为个人的学习笔记使用。 观察者模式 定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 观察者模式的类图 设计原则:努力实现交互对象之间的松耦合设计 当两…
-
Java设计模式———-策略模式
以下内容来自HeadFIrst设计模式一书和http://www.cnblogs.com/xrq730/p/4906313.html的博文,作为自己的学习笔记总结如下。 HeadFirst设计模式一书在开篇就提出了三条设计的原则: 1.找出应用中可能需要变化之处,将它们独立出来,不要和那些需要变化的代码混在一起。 2.针对接口编程,而不是针对实现编程。 …
-
[23种设计模式]—装饰者模式(1)
装饰模式(Decorator Pattern),也称为包装模式(Wrapper Pattern)指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 咱这么说: 比如说,我要设计一个咖啡厅订单管理项目, 订单肯定包括 咖啡的种类和一些配料,如果我设计一个抽象类,让所有这些东西都去继承…
-
《Head First 设计模式》阅读笔记(五)——单件模式
好久不见,又来到了这里。。 博客中断了如此之久,当然是有借口的。首先是单件模式的特殊性,它涉及到多线程!OMG,小弟才疏学浅,还从未写过一个多线程的程序,多进程的倒是写过一个,不过跟该模式就没太大关系了。另外,前一篇工厂模式,费了九牛二虎之力,却只弄清楚一个对象的创建,未免太桑人心了。。再者,寒假一放,就堕落了。。每天睡到中午,整体出去玩,哪有心思看设计模式…
-
《Head First 设计模式》阅读笔记 (零)
很长一段时间前,看了一部分书,写了些笔记,由于某些原因中断了,今天重新拾起这本书,要继续看下去~~ 以下是上次的笔记,重新开始~ 1. OO原则: 1.1.封装变化 指的是设计过程中,设计者应当充分考虑将来可能会发生变化的代码部分,将它们提取并封装起来。 1.2.多用组合,少用继承 …
-
《Head First 设计模式》阅读笔记(七)——适配器和外观模式
适配器模式和外观模式有些相似,甚至其实现方式也相似,不同的只是他们的侧重点。 适配器模式,我想用处应该非常广泛,特别是对于环境多变的场合,其定义如下: 将一个类的接口,转换成客户希望的另一个接口。适配器让原本不兼容的类可以合作无间。 这解决了本章开篇的那个需求:“将一个方块放入一个圆洞中!”。 也就是说,适配器通过接口转换解决了兼容性问题。那么他是通过什么方…