2007-11-05
设计模式之Bridge模式
关键字: bridge模式 这几天闲着没事,看一下Bridge模式。它是实现对象与行为分离的。做一下小例子与大家分享:
,希望能与大家交流。
现定义一个对数据对象操作的接口:
java 代码
- package org.mvc.webtier;
- public interface Operator {
- String work(String arg);
- }
java 代码
- package org.mvc.webtier;
- public class Insert implements Operator{
- public String work(String arg) {
- // TODO Auto-generated method stub
- return "insert "+arg;
- }
- }package org.mvc.webtier;
- public class Update implements Operator {
- public String work(String arg) {
- // TODO Auto-generated method stub
- return "update " + arg;
- }
- }
定义数据对象的抽象类:
java 代码
- package org.mvc.webtier;
- public abstract class Table {
- protected Operator impl = null;
- public abstract void work();
- public Operator getImpl() {
- return impl;
- }
- public void setImpl(Operator impl) {
- this.impl = impl;
- }
- }
具体的数据对象继承上面的这个抽象类:
java 代码
- package org.mvc.webtier;
- public class Table1 extends Table{
- @Override
- public void work() {
- // TODO Auto-generated method stub
- System.out.println(this.impl.work("Table1"));
- }
- }
- package org.mvc.webtier;
- public class Table2 extends Table{
- @Override
- public void work() {
- // TODO Auto-generated method stub
- System.out.println(this.impl.work("Table2"));
- }
- }
根据具体的业务就可以对具体的数据对象进行操作了。
java 代码
- Table tbl1 = new Table1();
- tbl1.setImpl(new Insert());
- tbl1.work();
- tbl1.setImpl(new Update());
- tbl1.work();
- Table tbl2 = new Table2();
- tbl2.setImpl(new Update());
- tbl2.work();
- tbl2.setImpl(new Insert());
- tbl2.work();
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 11879 次
- 性别:

- 来自: 长春

- 详细资料
搜索本博客
我的相册
美女
共 1 张
共 1 张
最近加入圈子
最新评论
-
用JS and DOM生成表格
document.getElementsByTagName ("body"). ...
-- by 7thbyte -
用JS and DOM生成表格
只能在firefox浏览器中实现
-- by cherryQQ -
设计模式之策略模式(Strat ...
不知道有何应用啊? 转到http://grails.5d6d.com/view ...
-- by shiren1118 -
DOM和JAVASCRIPT访问页面 ...
IE里getElementsByName()是按ID拿的 - -
-- by risezhang -
另人无奈的SOA
那好呀,如果你能SCA/SDO熟悉的话,有相关资料发给我呀,哈哈,cljspn@ ...
-- by cljspn






评论排行榜