JT框架初探二--桥梁模式的示例

先看看jt对于桥梁模式的源码 JtBridge

package Jt;

public class JtBridge extends JtObject {

public static final String JtCLASS_NAME = JtBridge.class.getName();
private static final long serialVersionUID = 1L;
protected Object implementor;

public JtBridge () {
}

/**
* 设置实现者
*/

public void setImplementor (Object implementor) {
this.implementor = implementor;

}

public Object getImplementor () {
return (implementor);
}
/**
* 本类的接受消息方法
* 接受到消息直接发送给实现者
* 由实现者进行响应
*/

public Object processMessage (Object message) {

String msgid = null;
JtFactory factory = new JtFactory ();


if (implementor == null) {
handleError ("JtBridge.process: the implementor attribute needs to be set");
return (null);
}
/**
*
* 接受到消息直接发送给实现者
* 由实现者进行响应
*/
return (factory.sendMessage (implementor, message));

}
}


再看看使用的例子

package Jt.examples.patterns;

import Jt.JtBridge;
import Jt.JtFactory;
import Jt.JtMessage;
import Jt.JtObject;
import Jt.examples.HelloWorld;
import Jt.xml.JtXMLHelper;


public class BridgeExample {


public BridgeExample () {
}

public static void main(String[] args) {

JtFactory factory = new JtFactory ();
JtBridge bridge;
JtObject implementor;
JtMessage msg;
/**
*这个类是随意的类
*注意为下面两个改变对象格式的方法用的
*你也可以自己写一个类
*/
HelloWorld hello = new HelloWorld ();

hello.setGreetingMessage("Hello World ...");



// 创建桥梁模式的类

bridge = (JtBridge) factory.createObject (JtBridge.JtCLASS_NAME);

/**
*创建一个实现者JtXMLHelper
*JtXMLHelper的convertToXML方法可以吧object转换成xml
*/
implementor = (JtObject) factory.createObject (JtXMLHelper.JtCLASS_NAME);
//告诉抽象者 并设置实现者为类implementor
bridge.setImplementor(implementor);
//创建消息对象 实际等价于implementor.convertToXML 不懂得先看我的博客“JT框架初探一”
msg = new JtMessage (JtObject.JtXML_ENCODE);
//把hello对象放入消息对象中 用于转换
msg.setMsgContent(hello);
//看看打印结果吧
System.out.println ("Java encoding:" + factory.sendMessage (bridge, msg));
/**
*告诉抽象者 并设置实现者为类JtFactory 这里
*JtFactory的encodeObject方法可以吧object转换成另一种格式的xml
*/

bridge.setImplementor(new JtFactory ());
//看看打印结果吧
System.out.println ("Jt encoding:" + factory.sendMessage (bridge, msg));



}

}

打印结果:
Java encoding:

<?xml version="1.0" encoding="UTF-8"?>
<Object classname="Jt.examples.HelloWorld">
<greetingMessage><![CDATA[Hello World ...]]></greetingMessage>
</Object>

Jt encoding:

<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_11" class="java.beans.XMLDecoder">
<object class="Jt.examples.HelloWorld">
<void property="greetingMessage">
<string>Hello World ...</string>
</void>
</object>
</java>

桥梁模式比较灵活 大家看看jt框架所说的面向模式就是如此应用
现在好了 用什么模式就得先得到一个该模式的对象从jt代码中,
沟通上方便了 不过还是有点不适应 大家自己体会吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值