JS 设计模式(工厂模式环境搭建)

<!--引入的核心JS文件-->
<script type="text/javascript" src="CommonUtil.js"></script>
<script type=text/javascript charset=utf-8>
<!--JS设计模式(工厂模式)-->
//搭建一个工厂环境
//卖车店
function CarShop(){};
CarShop.prototype={
constructor:CarShop,
sellCar:function(type){//卖车方法
var car;//声明一个变量
switch(type){
case ‘Benz‘:car=new Benz();break;
case ‘Bmw‘:car=new Bmw();break;
case ‘Audi‘:car=new Audi();break;
defanlt:‘not buy it‘;
}
//检验接口实现
JALJA.Interface.ensureImplements(car,CarInterface);
return car;
}
};
var CarInterface =new JALJA.Interface("CarInterface",[‘start‘,‘run‘]);
//所有车的父类
function BaseCar(){};
BaseCar.prototype={
constructor:BaseCar,
start:function(){
alert(this.constructor.name + " :start");
},
run:function(){
alert(this.constructor.name +" :run");
}
}
//具体的车
function Benz(){};
//继承 --放在特有属性前面
JALJA.extend(Benz,BaseCar);
//定义自己特有的属性
Benz.prototype.driverBenz=function(){
alert("Benz 特有1");
};
function Bmw(){};
//继承 --放在特有属性前面
JALJA.extend(Bmw,BaseCar);
//定义自己特有的属性
Bmw.prototype.driverBmw=function(){
alert("Bmw 特有1");
};
function Audi(){};
//继承 --放在特有属性前面
JALJA.extend(Audi,BaseCar);
//定义自己特有的属性
Audi.prototype.driverAudi=function(){
alert("Audi 特有1");
};
//测试
var shop =new CarShop();
var car1=shop.sellCar(‘Audi‘);
car1.run();
car1.start();
car1.driverAudi();
var car2=shop.sellCar(‘Benz‘);
car2.run();
car2.start();
car2.driverBenz();
</script>

时间: 2024-08-01 10:31:56

JS 设计模式(工厂模式环境搭建)的相关文章

JS设计模式——工厂模式详解

工厂模式是另外一种关注对象创建概念的创建模式.它的领域中同其它模式的不同之处在于它并没有明确要求我们使用一个构造器.取而代之,一个工厂能提供一个创建对象的公共接口,我们可以在其中指定我们希望被创建的工厂对象的类型. 简单工厂模式:使用一个类(通常为单体)来生成实例 复杂工厂模式:使用子类来决定一个变量成员应该为哪个具体的类的实例. 简单工厂模式 var BicycleShop = function () { }; BicycleShop.prototype = { sellBicycle: fu

6.大话设计模式-工厂模式

工厂模式和简单工厂有什么区别.废话不多说,对比第一篇例子应该很清楚能看出来. 优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点. using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace DesignModel{    public interface Factory   

5分钟读书笔记之 - 设计模式 - 工厂模式

一个类或者对象中,往往会包含别的对象.在创建这种对象的时候,你可能习惯于使用常规方式,即用 new 关键字和类构造函数. 这会导致相关的俩个类之间产生依赖. 工厂模式,就是消除这俩个类之间的依赖性的一种模式,它使用一种方法来决定究竟实例化那个具体的类. 简单工厂模式 假设你想开几个自行车商店,每个商店都有几种型号的自行车出售,可以用这样一个类来表示: var BicycleShop = function(){} BicycleShop.prototype = { sellBicycle:func

设计模式---工厂模式---生产水果

设计模式---工厂模式 需要一个基本的抽象类:相当一个基本的工厂 需要若干个具体类:相当若干个产品 需要工具类:相当工厂中机器,用来选择不同的产品生产 需要主类:相当顾客所想的订单 主类 ----> 工厂类 ----> 产品类 ---> 产品具体类 老板根据顾客的订单,在工具堆中选择合适的,然后去工厂中生产适合的产品,返回给顾客 优势:能够在不修改原先的代码情况,增加所需的类与方法. 不足:会增多类文件的数量 接口:提供的内容,相当于协议,即外界使用此接口时,接口的内容是不允许外界对接口

设计模式——工厂模式学习

1.概念 工厂模式定义:实例化对象,用工厂方法代替new操作.达到解耦的目的(避免硬编码耦合).工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式. 工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见.因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例

Spark Standalone模式环境搭建

前提:安装好jdk1.7,hadoop 安装步骤: 1.安装scala 下载地址:http://www.scala-lang.org/download/ 配置环境变量: export SCALA_HOME=/..../scala export PATH=.:$SCALA_HOME/bin   .... 验证:scala -version 2.安装spark 使用自己编译过的对应自己hadoop的spark 配置环境变量: export SPARK_HOME=/.../spark export P

js设计模式——桥接模式

定义:将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化. 常用场景:在js中,桥接模式常用于事件监听器和ajax请求的解耦,以便于进行单元测试. 举个栗子 普通方法. var btn=$('#btn'); btn.on('click',function () { $.ajax({ url:'test.html', data:{ id:this.id }, dataType:'html', success:function(data){ con

二十三种设计模式——工厂模式

二十三种设计模式--工厂模式 简单工厂模式 简单工厂模式又称静态工厂方法(StaticFactory Method)模式,不属于23种模式之一. 简单工厂模式是工厂模式最简单使用的模式. 类图: 程序: #include <iostream> #include<string> using namespace std; class NationalFlag//父类 { public: NationalFlag(){} ~NationalFlag(){} virtual void di

设计模式-工厂模式[Factory]

先看下一个简单的实现: 1 package org.masque.designpatterns.factorymethod.one; 2 /** 3 * 4 * Description: Sample子类的标示 5 * BeanEm.java Create on 2014年7月11日 下午2:37:58 6 * @author [email protected] 7 * @version 1.0 8 * Copyright (c) 2014 Company,Inc. All Rights Res