码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式--装饰器模式

时间:2020-05-25 19:44:34      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:类型   decorator   允许   size   因此   扩展   定义   turn   对象   

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,就能可以实现多种功能,并且还可以继续扩展更过功能.

 

设计模式--装饰器模式

标签:类型   decorator   允许   size   因此   扩展   定义   turn   对象   

原文地址:https://www.cnblogs.com/keystone/p/12960319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!