Prototype功能预览六:业务数据与处理代码集中管理的工作流水线
2017-07-27 09:15
393 查看
框架整体介绍:http://blog.csdn.net/flyxxxxx/article/category/7055640
对此框架有兴趣或想参与开发的请加QQ群:255195191
在基于Spring开发过程中,业务要处理的数据与业务代码之间,往往分散在多个方法中,方法与方法之前存在大量的交叉调用,这种方式对于复杂的业务的开发工作及后续的代码维护实际是很不利的,对于初中级程序员来说,更难以理清之间的关系。
采用Prototype框架,业务代码与要处理的数据集中在业务类中,业务类采用非单一实例模式,通过责任链的方式,整个业务链,一项工作一项工作以链条的形式完成,前一项工作失败或不能完成则可中止后续工作,整体代码更加清晰,开发人员更容易面向业务进行开发,也很容易完成一些旧的超大方法或类的重构问题。
@BusinessDefine(sync = { @BusinessMethod(value = "validate", readOnly = true), @BusinessMethod(value = "business"),
@BusinessMethod(value = "after", transaction = false), async = {
@BusinessMethod(value = "async", overload = true) })
//此注解定义了业务类依次按方法validate\business\after\async的顺序执行,任意一个方法返回false,后面的方法将不再执行
//所有这此方法名可自定义,子类可以任意定义这几个方法中的一个或多个,每个方法返回值类型只能是void或boolean,方法参数可以来源于Spring
applicationContext
public abstract class Business {
public void execute() {//业务类入口方法
// do nothing
}
}
public class DemoBusiness extends Business{
@Input(@Prop("关键字"))//这是作为输入数据
private String keyword;
//定义一些成员变量,作为输入输出及中间变量
public boolean validate(){
//此方法中进行输入数据的验证
}
public void business(TestService ts,Connection connection){
//此方法执行具体业务
}
public void after(){
//此方法在业务完成后进行一些事务处理
}
void async(LogService ls){
//异步记录用户的操作日志
}
}
在Prototype框架中,方法参数通常只是来源于Spring applicationContext中的bean,输入及输出结果、中间变量作为成员变量形式存在,
相比较而言,Prototype框架通常在一个类中完成一项业务的处理,处理的数据与逻辑形成一个工作流水线,对于代码和数据的管理更加有效。
对此框架有兴趣或想参与开发的请加QQ群:255195191
在基于Spring开发过程中,业务要处理的数据与业务代码之间,往往分散在多个方法中,方法与方法之前存在大量的交叉调用,这种方式对于复杂的业务的开发工作及后续的代码维护实际是很不利的,对于初中级程序员来说,更难以理清之间的关系。
采用Prototype框架,业务代码与要处理的数据集中在业务类中,业务类采用非单一实例模式,通过责任链的方式,整个业务链,一项工作一项工作以链条的形式完成,前一项工作失败或不能完成则可中止后续工作,整体代码更加清晰,开发人员更容易面向业务进行开发,也很容易完成一些旧的超大方法或类的重构问题。
@BusinessDefine(sync = { @BusinessMethod(value = "validate", readOnly = true), @BusinessMethod(value = "business"),
@BusinessMethod(value = "after", transaction = false), async = {
@BusinessMethod(value = "async", overload = true) })
//此注解定义了业务类依次按方法validate\business\after\async的顺序执行,任意一个方法返回false,后面的方法将不再执行
//所有这此方法名可自定义,子类可以任意定义这几个方法中的一个或多个,每个方法返回值类型只能是void或boolean,方法参数可以来源于Spring
applicationContext
public abstract class Business {
public void execute() {//业务类入口方法
// do nothing
}
}
public class DemoBusiness extends Business{
@Input(@Prop("关键字"))//这是作为输入数据
private String keyword;
//定义一些成员变量,作为输入输出及中间变量
public boolean validate(){
//此方法中进行输入数据的验证
}
public void business(TestService ts,Connection connection){
//此方法执行具体业务
}
public void after(){
//此方法在业务完成后进行一些事务处理
}
void async(LogService ls){
//异步记录用户的操作日志
}
}
在Prototype框架中,方法参数通常只是来源于Spring applicationContext中的bean,输入及输出结果、中间变量作为成员变量形式存在,
相比较而言,Prototype框架通常在一个类中完成一项业务的处理,处理的数据与逻辑形成一个工作流水线,对于代码和数据的管理更加有效。
相关文章推荐
- Prototype功能预览一:一个注解实现多项业务处理并行(Fork/Join)
- Prototype功能预览四:异步处理-完美解决Spring中的事务问题
- Prototype功能预览十:面向未来技术的框架 - 一个业务实现同时支持dubbo/dubbox/spring mvc/hession
- Prototype功能预览十二:一个注解可在Spring MVC的Servlet3的异步处理与同步处理间切换
- Prototype功能预览二:两个注解实现数据库批处理
- Prototype功能预览七:一个注解分离日志及事件的发送于处理逻辑
- JS小功能(操作Table--动态添加删除表格及数据)实现代码
- Prototype功能预览十一:集成Swagger生成API文档及API测试界面
- servlet 处理登陆表单数据(数据库)主要代码实现
- 使用WebServices来处理某些业务功能
- Modbus名词解释(功能码、输入保持寄存器、数据地址、错误代码)
- 数据探索之缺失值处理及代码实现
- Android平台使用openGL ES 2.0实现预览摄像头数据功能
- 使用消息队列+js实现分布式服务器热切换业务处理功能
- 用代码操作mysql数据库(添加和查询数据功能)
- BootStrap Table 后台数据绑定、特殊列处理、排序功能
- ASP.NET实现word文档在线预览功能代码-JavaScript编程
- ASP.NET实现word文档在线预览功能代码
- ajax处理php返回json数据的实例代码
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数