代理模式――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)