zoukankan      html  css  js  c++  java
  • 工厂模式和混入模式

    工厂模式,英文名:Factory。

    基本概念:工厂模式提供一个通用的接口来创建对象,但是我们可以指定我们希望创建出来的对象类型。

    实际应用:我们需要一个创建UI组件对象的工厂模式。我们需要什么样的组件类型(按钮,下拉框等),我们只要告诉Factory,然后它就会根据我们需要的类型创建一个相应的UI组件对象,然后返回给我们。

    混入模式,英文名:Mixin。

    基本概念:Mixin是可以轻松被一个子类继承功能的类,目的是复用Mixin类的方法和属性。

    举个例子:

    var myMixin = {
    	moveUp:function(){},
    	stop:function(){}	
    };
    function carAnimator(){
    	this.moveLeft = function(){}
    }
    _.extend(carAnimator.prototype, myMixin);  //_代表underscore.js
    var myAnimator = new carAnimator();
    myAnimator.moveUp();
    

    上面的代码意思:我们以拷贝的形式,把myMixin对象的方法复制给了carAnimator原型对象,以至于carAnimator实例对象也可以调用myMixin对象的方法。myMixin对象的方法以复制的混入到了carAnimator原型对象中。

    上面的代码中,如果myMixin是构造函数,moveUp和stop方法在myMixin的原型对象中,那么,我们只要把myMixin的原型对象中的方法复制给carAnimator.prototype就行了。

    Mixin有助于减少系统中的重复功能以及增加函数复用。当一个应用程序可能需要在各种对象实例中共享行为时,我们可以通过在Mixin中维持这种共享功能,而各种对象专注于实现系统中不同的功能,来轻松避免代码的重复。

    加油!

  • 相关阅读:
    LVS与Nginx区别
    Vue报错:Vue TypeError:Cannot read property ‘xxx‘ of null
    可以这样去理解group by和聚合函数
    52条SQL语句性能优化策略
    阿里云ECS搭建Typecho博客
    Java01——入门
    一天学习一个设计模式之外观模式
    一天学习一个设计模式之组合模式
    一天学习一个设计模式之桥接模式
    一天学习一个设计模式之适配器模式
  • 原文地址:https://www.cnblogs.com/chaojidan/p/4484930.html
Copyright © 2011-2022 走看看