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)模式也叫职责链模式.责任链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的 ...
随机推荐
- Efim and Strange Grade
Efim and Strange Grade time limit per test 1 second memory limit per test 256 megabytes input standa ...
- [转]iptables
iptables ptables简介 iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表. filter负责过滤数据包,包括的规则链有,i ...
- POJ 3905 Perfect Election
2-SAT 裸题,搞之 #include<cstdio> #include<cstring> #include<cmath> #include<stack&g ...
- ubuntu14.04英文环境下安装中文输入法
ubuntu14.04英文环境下安装中文输入法 发表于1年前(2014-07-12 20:12) 阅读(4478) | 评论(0) 3人收藏此文章, 我要收藏 赞1 9月19日成都 OSC 源创会 ...
- 强制删除sql用户链接
SELECT 'alter system kill session '''||sid||','||serial#||''';' FROM v$session WHERE username='USER' ...
- higncharts 编辑Highcharts.com链接
credits: { text: 'Example.com', href: 'http://www.example.com' }, 只 ...
- 控制textbook输入字符
在KeyPress事件中假如如下代码此实例表示可输入数字退格和“.”. 具体字符KeyChar见连接 http://www.cnblogs.com/linji/archive/2012/10/24/2 ...
- POJ 2482 Stars in Your Window
线段树+离散化+扫描线 AC之后,又认真读了一遍题目,好文章. #include<cstdio> #include<map> #include<algorithm> ...
- git 与 github基本使用
这里只对git 与 github的基本使用介绍,对于简单的步骤不做详细的说明,可以在网上搜索 一.git与github的安装与链接 1.git 安装:百度搜索"git",下载安装即 ...
- 安卓 Android题目大全
安卓001个人事务管理系统(单端) 安卓002手机订餐系统 安卓003无线点菜 安卓004酒店房间预定系统 安卓005个人相册管理系统(单端) 安卓006计算器(单端) 安卓007英语学习(单端) ...