装饰器
装饰器结构模式允许动态地扩展现有对象的功能,而不改变其内部结构。
装饰器提供了一种灵活的方法来扩展对象的功能。
golang 实现
下面的LogDecorate用signature func(int)int修饰函数,该函数操作整数并添加输入/输出日志记录功能。
1 | type Object func(int) int |
如何使用
1 | func Double(n int) int { |
经验
与适配器模式不同,要修饰的对象是通过注入获得的。
装饰器不应更改对象的接口。
装饰器结构模式允许动态地扩展现有对象的功能,而不改变其内部结构。
装饰器提供了一种灵活的方法来扩展对象的功能。
下面的LogDecorate用signature func(int)int修饰函数,该函数操作整数并添加输入/输出日志记录功能。
1 | type Object func(int) int |
1 | func Double(n int) int { |
与适配器模式不同,要修饰的对象是通过注入获得的。
装饰器不应更改对象的接口。
本文标题:golang设计模式之装饰器模式
文章作者:cloud sjhan
发布时间:2019年11月30日 - 15:11
最后更新:2019年11月30日 - 15:11
原始链接:https://cloudsjhan.github.io/2019/11/30/golang设计模式之装饰器模式/
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。
微信支付
支付宝