1.问题 在面向对象系统中,有些对象由于某种原因(比如创建对象的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给调用者带来麻烦,那么如何在不损失接口透明性的情况下,解决这些麻烦? 2.解决方案 通过架设一层中间层,让这层中间层来解决上面的麻烦,也就是我们所说的代理.大致的结构转换图如下: 转换成 将一个复杂的系统A,通过假设一层中间层C,将A中的复杂度处理掉,并通过C向B提供一种更灵活,满足B需求的方案. 案例一..Net中WebService技术提供了很好的借鉴.代码…