这几天闲着没事,看一下Bridge模式。它是实现对象与行为分离的。做一下小例子与大家分享: ,希望能与大家交流。 现定义一个对数据对象操作的接口: java 代码 1. package org.mvc.webtier; 2. 3. public interface Operator { 4. String work(String arg); 5. } 6. 实现上边的这个接口: java 代码 1. package org.mvc.webtier; 2. 3. public class Insert implements Operator{ 4. 5. public String work(String arg) { 6. // TODO Auto-generated method stub 7. 8. return "insert "+arg; 9. } 10. 11. }package org.mvc.webtier; 12. 13. public class Update implements Operator { 14. public String work(String arg) { 15. // TODO Auto-generated method stub 16. 17. return "update " + arg; 18. } 19. } 20. 定义数据对象的抽象类: java 代码 1. package org.mvc.webtier; 2. 3. public abstract class Table { 4. protected Operator impl = null; 5. 6. public abstract void work(); 7. 8. public Operator getImpl() { 9. return impl; 10. } 11. 12. public void setImpl(Operator impl) { 13. this.impl = impl; 14. } 15. } 16. 具体的数据对象继承上面的这个抽象类: java 代码 1. package org.mvc.webtier; 2. 3. public class Table1 extends Table{ 4. 5. @Override 6. public void work() { 7. // TODO Auto-generated method stub 8. System.out.println(this.impl.work("Table1")); 9. } 10. 11. } 12. 13. package org.mvc.webtier; 14. 15. public class Table2 extends Table{ 16. 17. @Override 18. public void work() { 19. // TODO Auto-generated method stub 20. System.out.println(this.impl.work("Table2")); 21. } 22. 23. } 24. 根据具体的业务就可以对具体的数据对象进行操作了。 java 代码 1. table tbl1 = new Table1(); 2. tbl1.setImpl(new Insert()); 3. tbl1.work(); 4. tbl1.setImpl(new Update()); 5. tbl1.work(); 6. 7. 8. table tbl2 = new Table2(); 9. tbl2.setImpl(new Update()); 10. tbl2.work(); 11. tbl2.setImpl(new Insert()); 12. tbl2.work();进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 在Eclipse中配置Struts2项目 (386次浏览)
- 史上最简单的struts+spring+hibernate配置实 (249次浏览)
- 在Spring中使用JTA事务管理 (231次浏览)
- 玩玩Spring之struts+hibernate+spring添删改 (156次浏览)
- 使用Spring MVC表单标签 (154次浏览)
- 在Spring中使用Quartz进行任务调度 (154次浏览)
- 使用myeclipse集成struts,hibernate,spring (142次浏览)
- 详细讲解在Spring中进行集成测试 (126次浏览)
- Java远程通讯可选技术及原理 (100次浏览)
- 使用Acegi进行身份认证(之一) (85次浏览)



