频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

设计模式之Bridge模式。

来源: 作者:佚名 出处:巧巧读书 2008-04-07 进入讨论组
    这几天闲着没事,看一下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();进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:商店购物

较新的文章:Struts应用开发
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章