zoukankan      html  css  js  c++  java
  • 设计模式--装饰器模式

    decorator pattern

    定义:允许向现有的对象(一个函数也认为是一个对象)添加新功能,而不改变其结构.

    多功能螺丝刀的原理

    func  functionValue(a,b int,do func(int,int)int){

      do(a,b)

    }

    像这样,functionValue函数形参里面有一个名为do的函数,这里提前指定了do函数有什么参数和返回值.

    然后,do(a,b)是在函数functionValue内部调用.这是一种非常有用的特性.

    我们定义一类函数:传入2个int类型参数,返回一个int类型的值.

    func  add(a,b int)int{

      return a + b

    }

    func sub(a,b int)int{

      return a - b

    }

    以上这两个函数符合do函数规则,因此,两个都可以传递进去.

    实现效果:不修改函数functionValue,就能可以实现多种功能,并且还可以继续扩展更过功能.

  • 相关阅读:
    JS可改变列宽table
    无图片,用css border实现尖三角
    IE6下position:fixed;兼容
    巧用cssText属性批量操作样式
    Java
    Java
    Java
    JRebel
    Spring
    ActiveMQ
  • 原文地址:https://www.cnblogs.com/keystone/p/12960319.html
Copyright © 2011-2022 走看看