Javascript是越来越厉害了,一统前后端开发.于是最近把设计模式又看了一遍,顺便做了个笔记,以方便自己和他人共同学习. 笔记连载详见:http://www.meteorcn.net/wordpress/2015/07/17/笔记-javascript设计模式-目录/ 笔记 Javascript设计模式 目录 综述: 1. Javascript设计模式本身没有什么技术含量,无非是用动态特性存取现有功能而已 2. 技术基础就是面向对象的实现与理解 3. 绝大多数模式是按功能区分的,明白了Jav…
概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化.使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.[GOF <设计模式>] 结构图 图1 Observer模式结构图 生活中的例子…
php设计模式笔记:单例模式 意图: 保证一个类仅有一个实例,并且提供一个全局访问点 单例模式有三个特点: 1.一个类只有一个实例2.它必须自行创建这个实例3.必须自行向整个系统提供这个实例 主要实现: Singleton定义了一个instance操作,允许外部访问它的唯一实例,instance是一个类方法,负责创建它的唯一实例. singleton适用场景: 1.当类只能有一个实例而且外部可以从一个公共的访问点访问它.2.当这个唯一实例应该是通过子类化可扩展的.并且用户应该无需更改代码就能使用…
设计模式之第18章-观察者模式(Java实现) 话说曾小贤,也就是陈赫这些天有些火,那么这些明星最怕的,同样最喜欢的是什么呢?没错,就是狗仔队.英文的名字比较有意思,是paparazzo,这一说法据说来自意大利电影<滴露牡丹开>中一个专门偷拍明星照片的一个摄影师的名字,“Paparazzo”,中文译为帕帕拉齐,俗语就是狗仔队.这些明星因狗仔队而荣,获得曝光率,也因狗仔队而损,被曝光负面新闻,不管怎么说,总之是“火起来了”,让明星们又爱又恨.(众人:鱼哥,你扯远了).咳咳,这个狗仔队其实嘛,也就…
Kafka 学习笔记之 Kafka0.11之console-producer/console-consumer: 启动Zookeeper 启动Kafka0.11 创建一个新的Topic: ./kafka-topics.sh --create --zookeeper hadoop1:2181,hadoop2:2181,hadoop3:2181 --replication-factor 1 --partitions 3 --topic Topic011 查询Topic列表: ./kafka-topi…
[观察者模式(Observer)]当一个对象状态发生改变时,依赖它的对象全部会收到通知,并自动更新 [场景]一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻辑.当更新的逻辑增多之后,代码会变得难以维护.这种方式是耦合的,侵入式的,增加新的逻辑需要修改事件主题的代码 [观察者模式实现了低耦合,非侵入式的通知与更新机制] [实例] ① 传统方式: index.php <?php class Event{ function trigger(){ echo 'Ev…
一.借鉴说明 1.<Head First Design Patterns>(中文名<深入浅出设计模式>) 2.维基百科,观察者模式,https://zh.wikipedia.org/wiki/%E8%A7%82%E5%AF%9F%E8%80%85%E6%A8%A1%E5%BC%8F 3.MSDN,event(C#参考),https://msdn.microsoft.com/zh-cn/library/8627sbea.aspx 二.观察者模式 基础知识 提供一个被观察者(数据库.通…
<script type="text/javascript"> //挂插着模式又叫发布订阅模式应该是最常用的模式 //1,dom事件就是观察者模式,只要订阅了click事件,当点击div的时候,function click就会触发. div.onclick=function click() { alert("click"); } //2 loadImage(imgAry,function(){ Map.init(); Gamer.init(); });…
发布-订阅模式,也叫观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知. 在JavaScript开发中,我们一般用事件模型来替代传统的观察者模式. 书里的现实例子 小明最近看上了一套房子,到了售楼处之后才被告知,该楼盘的房子早已售罄.好在售楼MM告诉小明,不久后还有一些尾盘推出,开发商正在办理相关手续,手续办好后便可以购买.但到底是什么时候,目前还没有人能够知道. 于是小明记下了售楼处的电话,以后每天都会打电话过去询问是不是已经到了购买时间.…
观察者模式 概述: 1.观察者模式(Observer),当一个对象状态发生改变时,依赖他的对象全部会收到通知,并自动更新 2.场景:一个事件发生后,要执行一连串更新操作,传统的编程方式,就是在事件的代码之后直接加入处理逻辑.当更新的逻辑增多之后,代码变得难以维护,这种方式是耦合的,侵入式的,增加新的逻辑要修改事件主体的代码 3.观察者模式实现了低耦合,非侵入式的通知于更新机制 代码如下 传统的方式是如下:事件触发时,会执行逻辑1,逻辑2,逻辑3....... 事件和更新操作时耦合在一起,编程是侵…