装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。 用代理模式,代理类可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。而当我们使用装饰器模式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。
意图:动态地给一个对象添加一些额外的职责
Java I/O
BufferedReader reader = new BufferedReader(
new InputStreamReader(
new FileInputStream(
new File("d:/text.txt"))));
意图:为其他对象提供一种代理以控制对这个对象的访问
String AOP:非业务主体相关的行为扩展(如日志)
PWA Server Worker:控制网络请求,命中缓存则直接返回,否则Fetch后台数据