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中维持这种共享功能,而各种对象专注于实现系统中不同的功能,来轻松避免代码的重复。

    加油!

  • 相关阅读:
    文件上传、下载测试点总结
    selenium+Python(Page Object 设计模式实例)
    Python面向对象
    Python内置函数
    Python异常处理
    Python文件的I/o
    vue-router 二级路由
    vue中如何获取后台数据
    移动端适配问题
    vue中钩子函数的用法
  • 原文地址:https://www.cnblogs.com/chaojidan/p/4484930.html
Copyright © 2011-2022 走看看