代理模式――Head First Design Patterns(二)
2014-11-24 03:13:55
·
作者:
·
浏览: 1
rformed(ActionEvent event) {
imageComponent.setIcon(new ImageProxy(getCDUrl(event.getActionCommand())));
frame.repaint();
}
});
}
// set up frame and menus
Icon icon = new ImageProxy(initialURL);
imageComponent = new ImageComponent(icon);
frame.getContentPane().add(imageComponent);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800,600);
frame.setVisible(true);
}
URL getCDUrl(String name) {
try {
return new URL((String)cds.get(name));
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
}
}
}
优点:1)见使用场景
缺点:1)性能不如直接对象
类似的设计模式:1)装饰者模式:强调增加行为,而代理模式强调的是代理但是不改变其主要行为
配套的内功心法:1)