让写业务代码变得再简单一些!
关系型状态机服务的生命周期(Lifecycle)组件框架开启一个新的维度,与各种框架提供的通用非功能服务(比如事务服务,安全性服务)等略有区别,它更贴近于业务建模本身,而又能通过代码以元数据的形式描述一组业务对象的生命周期。元数据的表达使得对状态机的实现更像是文档而非指令式的源代码。如果要更改业务对象的生命周期,只需要更改这份元数据描述,增加或修改相应的业务方法,而不包括对生命周期状态的检查和赋值,这将减少很多代码修改量,并且更安全可靠。该框架的代码量很小,但可以在另一个基础层面提供强大的服务。
生命周期组件框架,透明的帮助业务逻辑进行业务对象本身的生命周期状态检测以及关系生命周期的检测。后者尤为重要,往往是一个系统开发了5~6年大量的推广普及以后,最终发现面临很多新的功能或者增强的功能时,开发者都是那么的无力回天,多次研讨会议最终也是说如果当初那样设计就不会造成现在的局面;产品经理们最后面对这头大象也只能装作没有看见。而生命周期组件框架在运行时,作为一个高“情商”的顾问,会在“不适合发生”方法调用时阻止方法调用,保护应用程序的正确状态。
此外,生命周期组件框架还提供丰富的事件和回调机制。对于业务对象本身,生命周期组件框架提供状态转换的回调方法,可以极大的利用业务对象本身的上下文来极为方便的表达和完成更多的任务和工作。而对于其他业务模块对三大事件源之一的状态变化事件的需求,生命周期组件框架同样提供松耦合的事件传播。
对于一个长时间运行的进程或者过程,往往它的完整性约束和一致性约束不能由系统的事务服务来满足。尤其是宕机出现时,这些进程或者过程大多都表现为不准确的状态。解决这些问题,这更是生命周期组件框架大显身手的战场,在与系统的生命周期事件结合之后,生命周期组件框架可以帮助那些“在飞行的”进程或者过程完美的恢复,而程序员只需要提供很简单的元数据描述以及相应的纯粹的业务方法,甚至是现有的可重用的方法。
|
[已更新Demo附件]生命周期组件框架——关系型状态机服务
最新推荐文章于 2024-11-12 21:14:07 发布