您的位置:首页 > 编程语言

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框架通常在一个类中完成一项业务的处理,处理的数据与逻辑形成一个工作流水线,对于代码和数据的管理更加有效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring prototype 重构
相关文章推荐