自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 多双慧眼看代码漏洞 BlazeDS FlexClient.java

这篇博文旨在提高编码的健壮性。良好的生命周期设计是代码健壮的前提之一,任何一个独立的类都应该维护好自己的生命周期,即使在客户类调用过程中没有产生错误。若生命周期设计存在漏洞或者编码与生命周期设计不一致,一定能从代码中找到微妙的逻辑混乱之处。这些混乱之处倒也未必能够引起运行时的defect,因为这涉及到代码运行时覆盖率的问题,不过作为一个独立的单元来看,它的逻辑稍有一点不严密。 Blaz...

2013-12-13 15:02:33 190

原创 传統状态模式编程模型 VS 生命周期框架编程模型

       传统编程模型可以采用最经典的状态模式构建状态机,已达到刻画对象生命周期的目的。在这种编程模型中,为了表达一个状态转移需要应用程序员编写下面类似的代码。例如在Android开放源代码中的StateMachine.javaJava代码  private class HaltingState extends State {728 @Override72...

2013-12-12 13:28:46 173

【面向方面编程】【生命周期约束】方法执行的前置条件

生命周期的约束问题,可以从方法执行的前置条件切入进而展开讨论。 几日前与同行讨论到这样一个问题:在应用开发中,在运行时允许一个Method被成功激活的前置条件有哪些方面?讨论归纳成为如下三个方面,在此与大家分享,希望可以抛砖引玉,多收集一些素材:1. 安全性约束2. 参数的约束参数上下文无关约束参数上下文相关约束3. 生命周期约束 (本文讨论重点) ...

2013-12-11 09:42:08 259

原创 生命周期组件框架:带有多状态机的单实现类

 ServiceOrder生命周期元数据 @StateMachinepublic interface ServiceOrderLifecycleMeta extends OrderLifecycleMeta { @StateSet public static class States extends OrderLifecycleMeta.States {...

2013-11-26 21:14:31 215

原创 生命周期组件框架:生命周期描述语言——并发加写锁和解写锁执行过程示例...

@StateMachine static interface LockingStateMachine { @StateSet static interface States { @Initial @Function(transition = LockingStateMachine.Tran...

2013-11-26 18:05:54 116

原创 生命周期组件框架:生命周期描述语言——关系与读写锁执行过程示例

  @StateMachine static interface InformativeStateMachine { @StateSet static interface States { @Initial @Functions({ @Function(transition = ...

2013-11-26 18:05:43 109

原创 生命周期组件框架:生命周期描述语言——生命周期事件示例

public static class TestLifecycleEventHandler implements LifecycleEventHandler { static List<LifecycleEvent> eventList = new ArrayList<>(); @Override pu...

2013-11-24 11:15:04 154

原创 生命周期组件框架:生命周期描述语言——可继承状态机示例

@StateMachine protected static interface CustomerLifecycleMeta { @StateSet static interface States { @Initial @Function(transition = Customer...

2013-11-24 11:10:59 140

原创 生命周期组件框架:生命周期描述语言——条件转移以及生命周期回调 示例

@StateMachine public static interface InvoiceStateMachineMeta { @StateSet static interface States { @Initial @Function(transition = InvoiceSt...

2013-11-24 11:04:54 135

原创 生命周期组件框架:生命周期描述语言——简单状态机示例代码

//状态机元数据描述 @StateMachine protected static interface CustomerLifecycleMeta{ @StateSet static interface States { @Initial @Transition(event = ...

2013-11-24 10:58:30 149

原创 生命周期组件框架:生命周期描述语言——复合状态机示例

@StateMachine static interface OrderLifecycle { @StateSet static interface States { @Initial @Function(transition = Transitions.Start.class, ...

2013-11-24 10:51:48 156

原创 生命周期组件框架:加强版 UML State Machine:关系型复合状态机服务 示例

 关系生命周期     @StateMachine static interface ContractLifecycle { @StateSet static interface States { @Initial @Functions({ @Funct...

2013-11-23 11:13:40 165

原创 [已更新Demo附件]生命周期组件框架——关系型状态机服务

 让写业务代码变得再简单一些! 关系型状态机服务的生命周期(Lifecycle)组件框架开启一个新的维度,与各种框架提供的通用非功能服务(比如事务服务,安全性服务)等略有区别,它更贴近于业务建模本身,而又能通过代码以元数据的形式描述一组业务对象的生命周期。元数据的表达使得对状态机的实现更像是文档而非指令式的源代码。如果要更改业务对象的生命周期,只需要更改这份元数据描述...

2013-11-23 11:13:29 118

原创 Java编程的动态特性,使用BCEL代码生成工具,极大简化Class Transformation开发

        在写过《Java编程的动态特性,从Reflection到Runtime Class Transformation》入门日记之后,笔者继续在此方向上实践了2天的日夜煎熬,最终实现了最初的想法。然而在临末之时忽然发现一条捷径,倘若早采用这条捷径,将会少走很多弯路,便可以更快的完成最初的目标。所以本篇入门日记主要介绍这条捷径,以便各位搞技术的兄弟姐妹待用之时便可以少走很多...

2013-11-23 11:05:21 433

原创 配置与理解Glassfish Cluster【28张图片已修复】

第一部分 实验目的理解Glassfish V3.1.2.2 Cluster的工作原理理解Apache HTTPD 软件负载均衡的工作原理理解如何使用Glassfish的内存复制功能验证是否或者如何通过Apache HTTPD + Glassfish完成故障转移第二部分 实验环境设计与搭建 2.1 实验环境拓扑 为了方便起见,实验环境由如简化过的网络拓扑示...

2013-11-23 11:04:12 289

原创 Java编程的动态特性, 从Reflection到Runtime Class Transformation

关于Java编程的动态特性,从认识的过程上要从 Reflection 到 instrumentation。1. 初步的开发者刚接触到Reflection会非常兴奋,因为反射可以在运行时完成很多之前不可能的任务,这件利器使人打破了很多束缚。2. Java Annotation出现后,更让Java变得更加有活力,更加友好。Annotation + Reflection + enum + Class...

2013-11-23 11:00:36 326

原创 Enable BlazeDS 4 on Glassfish V3.1.1

I had been using BlazeDS 3 on Sun Glassfish Enterprise Application Server V2.1.1 for a long time. At that time, I followed someone's guide and hacked TomcatValve.java. And then BlazeDS 3 will be full...

2011-11-15 10:31:43 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除