常见的设计模式

工厂模式:

有点类似于加工厂富士康这种,用一个模型不断复制得到新的东西;

function person(name, age){

var o = new Object();

     o.name = name;

     o.age  = age;

     o.sayName = function (){

      alert(this.name) 

 }

}

var person1 = person(‘cy‘,22);//得到person1

var person2 = person(‘cy2‘,20);//得到person2

可以看到我们每次通过实例化对象后输入相应的参数后就可以的到一个想得对象;

它的主要特点:在函数中创建一个对象并初始化,然后将这个对象返回回来;

缺点:不够灵活,这种针对高度相似的对象还好说;

构造函数模式:

单例模式:

一个类对象只有一个唯一的实例;我们在创建的过程中一般会先判断是否存在,如果存在就返回这个实例,如果不存在就创建这个实例后在返回,这样做的目的就是为了只有一个唯一的实例;

简单的单例模式---对象字面量:

var person = {

  name: "cy",

  age: "22",

  sayName: function(){

      alert(this.name);

  }

}

还可以通过匿名函数闭包的方式创建;

var person = (function(name,age){

    var unique;

    var name = name;

    var age = age;

    function init (){

    if(person.unique === undefine){

      unique = new Constructor();

  }else {

    return unique;

  }

  function  Constructor(){

      //单例的构造函数

  }

  return {

    init: init

  }

})(name,age)

通过person.init()来得到单例对象,每次初始化都是得到的同一个单例;

这样做有个好处,给人封装的感觉,把需要暴露的东西返回回去,私有的则不会被访问到

时间: 2024-08-11 07:39:13

常见的设计模式的相关文章

JavaEE5种常见的设计模式

1.工厂模式:比如你写了个应用,里面用到了数据库的封装,你的应用可以今后需要在不同的数据库环境下运行,可能是oracle,db2,sql server等, 那么连接数据库的代码是不一样的,你用传统的方法,就不得不进行代码修改来适应不同的环境,非常麻烦,但是如果你采用工厂类的话,将各种 可能的数据库连接全部实现在工厂类里面,通过你配置文件的修改来达到连接的是不同的数据库,那么你今后做迁移的时候代码就不用进行修改了. 2.单例模式:提供了唯一实例的受控访问,对于经常要创建和销毁的对象单例模式无疑可以

javascript常见的设计模式举例

    近日重读<javascript面型对象编程指南>这本书,最后一章介绍了常见的javascript设计模式的实现.主要讲解了四种设计模式:单例模式.工厂模式.装饰器模式和观察者模式.js作为动态语言,实现这四种模式的实例相对简单,当然既然称之为模式,那么吃透思想更重要,那么下面,由乐帝来实例讲解四种模式.    1.单例模式    顾名思义,对象构造出来的是实例,从字面上理解,单例即单实例,这意味一个类只能创建一个实例对象.当需要创建一种类型或者一个类的唯一对象时,可使用该模式.以下两个

常见的设计模式:单例模式、工厂模式、观察者模式、装饰模式与适配器模式

常见的设计模式:单例模式.工厂模式.观察者模式.装饰模式与适配器模式 这里可以阅读Terry Lee的设计模式系列来理解学习一下 1.4.1 单例模式 .NET设计模式(2):单件模式(Singleton Pattern)  http://terrylee.cnblogs.com/archive/2005/12/09/293509.html 1.4.2 抽象工厂模式 .NET设计模式(3):抽象工厂模式(Abstract Factory) http://terrylee.cnblogs.com/

php中五种常见的设计模式

设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma.Richard Helm.Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”).所介绍的设计模式背后的核心概念非常简单.经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板.使用这些模板或者说设计模式 意味着可以更快地设计更好的建筑物.同样的概念也适用于软件. 设计模式不仅代表着更快开发健壮

iOS开发——高级篇——iOS中常见的设计模式(MVC/单例/委托/观察者)

关于设计模式这个问题,在网上也找过一些资料,下面是我自己总结的,分享给大家 如果你刚接触设计模式,我们有好消息告诉你!首先,多亏了Cocoa的构建方式,你已经使用了许多的设计模式以及被鼓励的最佳实践. 首先得搞清楚设计模式是个什么鬼,在软件设计领域,设计模式是对通用问题的可复用的解决方案.设计模式是一系列帮你写出更可理解和复用代码的模板,设计模式帮你创建松耦合的代码以便你不需要费多大力就可以改变或者替换代码中的组件 其实iOS中的设计模式有非常多,常用的就下面这四种 一.MVC设计模式(设计模式

Java中常见的设计模式

我在这里稍微总结一下Java中常见的一些设计模式. 1,单例设计模式 单例设计是Java中最常见的模式之一,,它就是要保证程序里边只有一个对象实例.就好比班上都叫他为班长,是因为得保证班上只有一个班长. 单例设计模式的程序设计思想反应的是Java面向对象思想的封装特性.就是为了保证只有一个对象实例,我们私有化它的构造函数,对外只提供一些相关的 公共方法来获得对象实例. 单例设计模式的实现主要分为饿汉式和懒汉式 饿汉式是先对类的对象实例化,随着类的加载对象也加载进来缺点是会造成性能的损耗好处是实现

Android中常见的设计模式

自己理解的设计模式遵循的原则: 1)功能单一明确,设计一个类的意图要明确,不能大包大揽什么功能都继承进去 2)对于扩展要开放,修改要关闭.软件通常都有需求变化,变化过程中通过扩展的方式来实现需求变化,而不是通过修改原有的方法,因为修改原有的方法会导致原来方法的调用方会出问题,这样层层调用出问题. 3)变化的进行抽象,不变的进行具体.设计代码过程中会面对很对可变的东西,比如在实现一个功能的时候,能够运用不同的方式进行实现,这个时候可以将每个具体的实现方法进行抽象,真正不变的是这个方法要实现的目的

Android开发中常见的设计模式

对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次.而在android开发中,必要的了解一些设计模式又是非常有必要的.对于想系统的学习设计模式的同学,这里推荐2本书.一本是Head First系列的Head Hirst Design Pattern,英文好的可以看英文,可以多读几遍.另外一本是大话设计模式. 单例模式 首先了解一些单例模式的概念. 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 这样做有以下几个优点 对于

PHP常见的设计模式

设计模式六大原则 开放封闭原则:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象. 依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象:抽象不应该依赖细节:细节应该依赖抽象. 单一职责原则:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责. 接口隔离原则:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上. 迪米特法则:一个对象应该对其他对象保持最少的了解. 1.单例设计

iOS常见的设计模式

ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~ (一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求.列表row个数delegate自定义的delegate (二)观察者模式应用场景:一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息.优势: