美文网首页
简单常用设计模式

简单常用设计模式

作者: 赵BW | 来源:发表于2017-04-27 09:35 被阅读0次

今天总结一下前端常用的设计模式,都是一些简单常用的设模式。


构造函数模式:

   function Person(name,age) {
        this.name = name;
        this.age = age;
    }
    Person.prototype.run = function(){
        console.log("I can run!");
    }
    Person.prototype.eat = function(){
        console.log("I can eat!");
    }

    var Tom = new Person("Tom",22);
    Tom.run();
    Tom.eat();

工厂模式:

    function Person(name,age){
        var obj = new Object();
        obj.name = name;
        obj.age= age;
        obj.run = function(){
            console.log("I can run!");
        }
        obj.eat = function(){
            console.log("I can eat!");
        }
        return obj;
    }
    var Tom = Person("zhaobw",22);
    Tom.run();
    Tom.eat();

模块模式

    var Person = (function(){
        function run(){
            console.log("I can run!");
        }
        function eat(){
            console.log("I can eat!");
        }
        return {
            "run":run,
            "eat":eat
        }
    })()
    Person.run();
    Person.eat();

混合模式

  function Person(name,age){
        this.name = name;
        this.age = age;
    }
    Person.prototype.run = function(){
        console.log("I can run!!");
    }
    function Student(name,age,sex){
        Person.call(this,name,age);
        this.sex = sex;
    }
    Student.prototype = create(Person.prototype);
    console.log(Student.prototype);
    function create(parentObj){
        var obj = {};
        obj.__proto__ = parentObj;
        return obj;
    }
    var test = new Student("zhaobw",22,"man");
    test.run();

单例模式

  var demo = (function(){
        var temp;
        function init(){
            return {
                'name':"zhaobw"
            };
        }
        return {
            getObj:function(){
                if(!temp){
                    temp = init();
                }
                return temp;
            }
        }
    })()
    var test = demo.getObj();
    var test2 = demo.getObj();
    console.log(test === test2);//ture

发布订阅模式

  var EventCenter = (function(){
        var Events = {};
        function on(evt,handler){
            Events[evt] = Events[evt]||[];
            Events[evt].push({
                "handler":handler
            });
        }
        function fire(evt,args){
            if(!Events[evt]){
                console.log("undefined");
                return;
            }else{
                for(var i=0;i<Events[evt].length;i++){
                    Events[evt][i].handler(args);
                }
            }
        }
        function off(evt){
            delete Events[evt];
        }
        return {
            'on':on,
            'fire':fire,
            'off':off
        }
    })()

相关文章

  • java单例模式与线程安全

    设计模式在软件架构设计中被经常使用,掌握常用的设计模式对于设计软件系统非常重要。单例模式作为设计模式中最简单和常用...

  • 设计模式

    软件开发中常用设计模式和设计原则有哪些? ##设计模式: * 1、简单工厂模式(Factory) * 2、策略模式...

  • iOS设计模式-工厂模式

    工厂模式分为简单工厂模式,工厂模式、抽象工厂模式三类。 简单工厂模式 1. 定义 简单工厂模式并不是常用的设计模式...

  • 简单常用设计模式

    今天总结一下前端常用的设计模式,都是一些简单常用的设模式。 构造函数模式: 工厂模式: 模块模式 混合模式 单例模...

  • iOS设计模式——简单工厂模式的使用

    简单工厂模式(Factory Pattern)是 开发中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它...

  • 来唠唠Java中建造者模式的嗑

    在Android23种设计模式中,前几章就是建造者模式,可以看出他的简单性与重要性,往往简单常用的设计模式作者才会...

  • 设计模式[2]-简单工厂模式-Simple Factory Pa

    1. 简单工厂模式简介 工厂模式是非常用的创建型模式(Creational Pattern)设计模式,通常我们说的...

  • 创建单例模式(Singleton)的几种方式

    单例模式可能是最常用到的设计模式了,但是想要正确的使用单例模式却并不简单。 我们先从最简单最常用的方式开始: 转自...

  • 简单工厂模式(SimpleFactoryPattern)- 最易

    前言 今天我来全面总结一下Android开发中最常用的设计模式 - 简单工厂模式。 目录 1. 含义 简单工厂模式...

  • 单例模式

    概念: 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,是一种常用的软件设计模...

网友评论

      本文标题:简单常用设计模式

      本文链接:https://www.haomeiwen.com/subject/ssrgzttx.html