之前在看代理模式有个疑惑, 为什么代理类要实现接口?
后来发现, 我自己的主观意识所限制, 也就是我认为所有代码都是我一个人完成, 然而实际上并不是这样, 要分工 . 这个分工的工作就是靠「接口」完成的.
也就是接口对于被分配任务的人来说 , 它是固定的 , 无法改变的. 现在我们的需求就是「不破坏原来的类的情况下」,「修改类功能」.
这里就出现以下需求
1. 无法修改的情况下修改, 就只能「代替」
2. 因为「该类」是中间层, 也就是它要「继承」原来的类, 还要能用「接口」输出.
也就是proxy pattern出现的原因.. 且因它是「修改」得出来的结果, 也就是发生在「重构」或者「升级」等时候实现.