javascript工厂模式、单例模式】的更多相关文章

这里主要介绍两种工厂模式,第一种“简单工厂模式”,第二种“工厂方法模式” 简单工厂模式 1.定义 由一个工厂对象决定对象创建某一种产品对象的的实例.主要用来创建同一类对象. 2.具体需求 现在有一个登录模块,当用户的输入的用户名多于16个时,给一个警示弹窗 var LoginAlert = function(text) { this.content = text } LoginAlert.prototype.show = function() { //显示警示框 } var userNameAl…
//工厂模式 function createObject(name,age){ var obj = new Object(); obj.name = name; obj.age = age; obj.fun = function(){ return this.name + this.age +"一个方法"; } return obj; } ); ); alert(box1.fun()); alert(box2.fun()); //这里的box1和box2都是Object,无法无别类型与…
一.工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程(本书后面还将讨论其他设计模式及其在JavaScript 中的实现).考虑到在ECMAScript 中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节,如下面的例子所示. function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.s…
Java 之工厂方法和抽象工厂模式 1. 概念 工厂方法:一抽象产品类派生出多个具体产品类:一抽象工厂类派生出多个具体工厂类:每个具体工厂类只能创建一个具体产品类的实例. 即定义一个创建对象的接口(即抽象工厂类),让其子类(具体工厂类)决定实例化哪一个类(具体产品类).“一对一”的关系. 抽象工厂:多个抽象产品类,派生出多个具体产品类:一个抽象工厂类,派生出多个具体工厂类:每个具体工厂类可创建多个具体产品类的实例. 即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类.“一对多…
工厂模式 设计工厂模式的目的是为了创建对象.它通常在类或者类的静态方法实现,具有下列目标: 1.在创建相似对象是执行重复操作 2.在编译时不知道具体类型(类)的情况下,为工厂客户提供一种创建对象的接口. 通过工厂方法(或类)创建的对象在设计上都继承了相同的父对象这个思想,它们都是实现专门功能的特定子类.有时候公共父类是一个包含了工厂方法的同一个类. 代码: //父构造函数 function CarMaker(){}; CarMaker.prototype.drive = function(){…
设计模式的好处: 代码规范 // 例如表单验证,两个 input ,一个用户名,一个密码 // 通常做法是 function checkUser(){ //..... } function checkPassword(){ //..... } // 问题: // 这是两个全局对象,而这两个方法属于一个表单的验证 // 所以这应该是一个表单对象,起码应该这么写 // 对象封装,但是注意全局对象 var checkObj = { checkUser: function() { //..... },…
单例模式也称为单体模式,其中: 1,单体模式用于创建命名空间,将系列关联的属性和方法组织成一个逻辑单元,减少全局变量. 逻辑单元中的代码通过单一的变量进行访问. 2,三个特点: ① 该类只有一个实例: ② 该类自行创建该实例,即在该类内部创建自身的实例对象: ③ 向整个系统公开这个实例接口 3,单体模式有四种基本形式: 第一种,最简单的单体,只被实例化一次    我简记为json对象 (1)基本结构 var userInfo={//已经自行被实例化 其实是一json对象 name:"测试名称&q…
//工厂 function FruitMaker() { //function 后不带方法名,这里cococola未定义,make return时,返回 FruitMaker.cococola this.cococola = function cococola (price) { console.log("生成一瓶Coca-Cola,多少钱:" + price); } this.xuebi = function xuebi(price) { console.log("生成一瓶…
function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name) }; return o; } //可以无数次调用createPerson函数 var person1=createPerson("GReg",20,"sofwear engineer"); var perso…
<!DOCTYPE html><html><head> <title>工厂模式和构造函数</title> <meta charset = "utf-8"></head><body> <script type="text/javascript">//工厂模式跟构造函数//在js中创建一个对象,然后在创建一个对象,将旧对象赋给新对象并修改新对象中的元素时旧对象中的…