js原生设计模式——13桥接模式(相同业务逻辑抽象化处理的职责链模式)
桥接模式之多元化类之间的实例化调用实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>桥接模式之多元化类之间的实例化调用</title>
<script type="text/javascript">
//多维类的声明和调用(有点像类职责链模式)
//这些功能类也可看作是功能模块的抽象层
//运动类模块
var Speed = function(x,y){
this.x = x;
this.y = y;
}
Speed.prototype.run = function(){
console.log('跑起来');
}
//着色类模块
function Color(cl){
this.color = cl;
}
Color.prototype.draw = function(){
console.log('绘制颜色');
}
//变形类模块
function Shape(sp){
this.shape = sp;
}
Shape.prototype.change = function(){
console.log('改变形状');
}
//说话类模块
function Speek(wd){
this.word = wd;
}
Speek.prototype.say = function(){
console.log('我可以说话');
}
//具体实现层的几个类,在功能上调用上面的抽象类
//接下来我们想创建一个球类,可以运动,可以着色
function Ball(x,y,c){
this.speed = new Speed(x,y);//实现运动单元
this.color = new Color(c);//实现着色单元
}
Ball.prototype.init = function(){
this.speed.run(); //实现运动方法
this.color.draw(); //实现着色方法
}
//同样我们想创造一个人类,他可以运动可以说话
function Person(x,y,f){
this.speed = new Speed(x,y);
this.speek = new Speek(f);
}
Person.prototype.init = function(){
this.speed.run();
this.speek.say();
}
//最后我们想创造一个精灵类,他可以运动可以说话可以着色可以变形
function Spirite(x,y,c,f,s){
this.speed = new Speed(x,y);
this.speek = new Speek(f);
this.color = new Color(c);
this.shape = new Shape(s);
}
Spirite.prototype.init = function(){
this.speed.run();
this.speek.say();
this.color.draw();
this.shape.change();
}
//测试用例
var p = new Person(10,12,16);
p.init();
//本例已经通过验证
</script>
</head>
<body>
</body>
</html>
js原生设计模式——13桥接模式(相同业务逻辑抽象化处理的职责链模式)的更多相关文章
- C#设计模式之二十一职责链模式(Chain of Responsibility Pattern)【行为型】
一.引言 今天我们开始讲"行为型"设计模式的第八个模式,该模式是[职责链模式],英文名称是:Chain of Responsibility Pattern.让我们看看现实生活中 ...
- 责任链模式 职责链模式 Chain of Responsibility Pattern 行为型 设计模式(十七)
责任链模式(Chain of Responsibility Pattern) 职责链模式 意图 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系 将这些对象连接成一条链,并沿着这 ...
- C#设计模式之二十职责链模式(Chain of Responsibility Pattern)【行为型】
一.引言 今天我们开始讲“行为型”设计模式的第八个模式,该模式是[职责链模式],英文名称是:Chain of Responsibility Pattern.让我们看看现实生活中的例子吧,理解起来可能更 ...
- C#设计模式学习笔记:(20)职责链模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8109100.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲行为型设计模式的第八个模式--职 ...
- Java设计模式(二十一):职责链模式
职责链模式(Chain Of Responsibility Pattern) 职责链模式(Chain Of Responsibility Pattern):属于对象的行为模式.使多个对象都有机会处理请 ...
- 深入浅出设计模式——职责链模式(Chain of Responsibility Pattern)
模式动机 职责链可以是一条直线.一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求.链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并使请求沿着链传 ...
- javascript设计模式——职责链模式
前面的话 职责链模式的定义是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止.职责链模式的名字非常形象,一 ...
- C#设计模式系列:职责链模式(Chain of Responsibility)
1.职责链模式简介 1.1>.定义 职责链模式是一种行为模式,为解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求.将这些对象连接成一条链,并沿着这条链传递该请求,直到有一个对 ...
- java设计模式-----18、职责链模式
概念: Chain of Responsibility(CoR)模式也叫职责链模式.责任链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的 ...
随机推荐
- 挂载了Cinder Volume的实例无法动态迁移排错
现象:挂载了Cinder Volume的实例无法动态迁移 [root@node-5 nova]# tail -f compute.log 2016-01-13 16:36:12.870 18762 E ...
- HDU 4421 ZOJ 3656 Bit Magic
2-SAT,不要所有位置全部建好边再判断,那样会MLE的. 正解是,每一位建好边,就进行一次2-SAT. #include<cstdio> #include<cstring> ...
- Python3基础 函数 默认值参数示例
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- Android网络开发之OkHttp--基本用法实例化各个对象
1.实例化OkHttpClient对象,OkHttpClient包含了以下属性,以及set()和get()方法.但并没有包含具体的执行方法,详情见源码. //实例化OkHttpClent对象 priv ...
- jsp设置footer底部内容
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- log4cxx入门第一篇--一个小例子
先看官网:http://logging.apache.org/log4cxx/index.html 转载自:http://wenku.baidu.com/view/d88ab5a9d1f34693da ...
- Quick Cocos2dx 调试问题
最近由于忙了一段时间,忙完了之后又迷茫了这么久,然后终于开始继续Quick-x的学习之路了. 然后遇到了一个比较棘手的问题. 虽然照着官方mvc的例子敲代码,但是还是不停的报错,报错的问题下次集结成一 ...
- Nginx http_user_agent 防御 ab 等
日志出现大量: xxxxxxxxxxxxx - - [04/Jul/2013:23:37:49 +0800] "GET /1000.html HTTP/1.0" 200 56471 ...
- FreeBSD 系统的配置.
SSH 配置 vi /etc/ssh/sshd_config 修改下面的项目 RSAAuthentication yes PermitRootLogin yes PermitEmptypassword ...
- 为HTTP分类作序
作者:zccst 曾经,认为对HTTP已经非常熟悉了,觉得不需要学习什么,知道2014年春天,让我感觉到自己是如此的无知. 举例: 1,对HTTP头部信息知道多少?每一个字段分别都可以取哪些值,每一个 ...