https://www.cnblogs.com/shenwen/p/10768332.html
https://blog.csdn.net/csdn15698845876/article/details/81544562
https://segmentfault.com/a/1190000016508992
https://my.oschina.net/liughDevelop/blog/2987320
装饰者模式与代理模式的区别
https://www.jianshu.com/p/c06a686dae39
Java的23种设计模式
https://www.cnblogs.com/pony1223/p/7608955.html
原文:https://www.cnblogs.com/majestyking/p/12431724.html