让写业务代码变得再简单一些!
关系型状态机服务的生命周期(Lifecycle)组件框架开启一个新的维度,与各种框架提供的通用非功能服务(比如事务服务,安全性服务)等略有区别,它更贴近于业务建模本身,而又能通过代码以元数据的形式描述一组业务对象的生命周期。元数据的表达使得对状态机的实现更像是文档而非指令式的源代码。如果要更改业务对象的生命周期,只需要更改这份元数据描述,增加或修改相应的业务方法,而不包括对生命周期状态的检查和赋值,这将减少很多代码修改量,并且更安全可靠。该框架的代码量很小,但可以在另一个基础层面提供强大的服务。
生命周期组件框架,透明的帮助业务逻辑进行业务对象本身的生命周期状态检测以及关系生命周期的检测。后者尤为重要,往往是一个系统开发了5~6年大量的推广普及以后,最终发现面临很多新的功能或者增强的功能时,开发者都是那么的无力回天,多次研讨会议最终也是说如果当初那样设计就不会造成现在的局面;产品经理们最后面对这头大象也只能装作没有看见。而生命周期组件框架在运行时,作为一个高“情商”的顾问,会在“不适合发生”方法调用时阻止方法调用,保护应用程序的正确状态。
此外,生命周期组件框架还提供丰富的事件和回调机制。对于业务对象本身,生命周期组件框架提供状态转换的回调方法,可以极大的利用业务对象本身的上下文来极为方便的表达和完成更多的任务和工作。而对于其他业务模块对三大事件源之一的状态变化事件的需求,生命周期组件框架同样提供松耦合的事件传播。
对于一个长时间运行的进程或者过程,往往它的完整性约束和一致性约束不能由系统的事务服务来满足。尤其是宕机出现时,这些进程或者过程大多都表现为不准确的状态。解决这些问题,这更是生命周期组件框架大显身手的战场,在与系统的生命周期事件结合之后,生命周期组件框架可以帮助那些“在飞行的”进程或者过程完美的恢复,而程序员只需要提供很简单的元数据描述以及相应的纯粹的业务方法,甚至是现有的可重用的方法。
|
- 浏览: 21694 次
- 性别:
-
最新评论
-
barryzhong:
kingbo203 写道Android 平台 ...
生命周期组件框架:生命周期描述语言——简单状态机示例代码 -
kingbo203:
Android 平台也实现了一个简易的状态机框架:框架的定义: ...
生命周期组件框架:生命周期描述语言——简单状态机示例代码 -
barryzhong:
superdingdang 写道@Function中的valu ...
生命周期组件框架:生命周期描述语言——简单状态机示例代码 -
superdingdang:
@Function中的value表达什么意思?
生命周期组件框架:生命周期描述语言——简单状态机示例代码 -
barryzhong:
<div class="quote_title ...
[已更新Demo附件]生命周期组件框架——关系型状态机服务
相关推荐
6. **生命周期钩子**:Vue组件有自己的生命周期,每个阶段都有对应的钩子函数。这些钩子可以用于初始化数据、处理用户交互、销毁资源等。在商品详情组件中,可能会在`created`或`mounted`钩子中加载商品数据,在`...
SQLite3是Android系统内置的关系型数据库,用于存储结构化数据。在TodoList应用中,SQLite3可能用于存储用户的待办事项,包括任务标题、描述、创建时间等信息。开发者需要编写SQL语句来操作数据库,如插入、查询、...
SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。...
6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器...
- **粒子系统脚本**:定义了粒子的生命周期、运动轨迹等属性。 - **示例**:通过粒子脚本可以轻松地实现火焰、爆炸等效果。 #### 动画基础 - **OGRE中与基本动画相关的类**:包括SimpleSpline、KeyFrame、Animation...
区安全开发生命周期6〕检置c 在静态库中使用cg 资语语言) 中交傳;中国) 选择主框架样式,可以自由选择是否添加最小化框、最大化框。如果觉得没必要“关于″对 话框也可以去掉,对话框标题一般不需要更改 MFC应用序匀导...