|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。
熟习MS-Windows和XWindowSystem事务驱动编程模子的开辟职员,习气于传送在某种事务产生时挪用(即“回调”)的函数指针。Java的面向对象模子今朝其实不撑持办法指针,如许仿佛就不成能利用这类很好的机制。但我们并非一点举措都没有!
Java的接口撑持供应了一种取得回调的等价功效的机制。其技能就是:界说一个复杂接口,并在该接口中声明我们要挪用的办法。
比方,假定我们但愿在某个事务产生时失掉关照。我们能够界说一个接口:
publicinterfaceInterestingEvent
{
//这仅是一个惯例办法。因而假如必要,
//它可有前往值,也可吸收参数。
publicvoidinterestingEvent();
}
这使得我们能够把持完成该接口的类的任何对象。因而,我们不用体贴任何内部范例信息。与在将C++代码用于Motif时利用窗口小部件的数据域来包容对象指针的难以把持的C函数比拟,这类办法要好很多。
收回事务旌旗灯号的类必需守候完成了InterestingEvent接口的对象,并在得当时分挪用interestingEvent()办法。
publicclassEventNotifier
{
privateInterestingEventie;
privatebooleansomethingHappened;
publicEventNotifier(InterestingEventevent)
{
//保留事务对象以备后用。
ie=event;
//还没有要呈报的事务。
somethingHappened=false;
}
//...
publicvoiddoWork()
{
//反省在别处设置的谓词。
if(somethingHappened)
{
//经由过程挪用接口的这个办法收回事务旌旗灯号。
ie.interestingEvent();
}
//...
}
//...
}
在上例中,我利用somethingHappened谓词来跟踪是不是应触发事务。在很多情形下,挪用此办法足以包管向interestingEvent()收回旌旗灯号。
但愿吸收事务关照的代码必需完成InterestingEvent接口,并将本身援用传送给事务关照程序。
publicclassCallMeimplementsInterestingEvent
{
privateEventNotifieren;
publicCallMe()
{
//创立事务关照程序,并将本身援用传送给它。
en=newEventNotifier(this);
}
//为事务界说实践的处置程序。
publicvoidinterestingEvent()
{
//噢!一定产生了感乐趣的事务!
//实行某些操纵...
}
//...
}
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢? |
|