国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 淺談JAVA工作流的優(yōu)雅實現(xiàn)方式

淺談JAVA工作流的優(yōu)雅實現(xiàn)方式

2021-06-17 11:42一代天驕 Java教程

這篇文章主要介紹了淺談JAVA工作流的優(yōu)雅實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

今天查找線上問題,看到一個讓我腦洞大開的工作流實現(xiàn)方式。以前用過責(zé)任鏈模式,也用過模板模式實現(xiàn)類工作流的方式,但是對比這個工具,遜色不少,不賣關(guān)子了,就是apache commons chain,它是command模式與責(zé)任鏈模式的綜合體。

1、apache commons chain 中的角色有:chain、context、command。

淺談JAVA工作流的優(yōu)雅實現(xiàn)方式

2、在我們訂單系統(tǒng)有這樣的業(yè)務(wù),就是退票的時候,會根據(jù)核損后的訂單價格,給客人退錢,但是訂單的金額,由幾部分組成

有現(xiàn)金、商旅卡、有優(yōu)惠券。所以根據(jù)需求,我們需要一個工作流來走下退款流程,我們的流程流轉(zhuǎn)的步驟是這樣的:

先退商旅卡-----如果還有余額退現(xiàn)金-----------還有余額再退優(yōu)惠券,分析一下這樣的需求,剛好可以用這個工具,直接上代碼了

先引入包

?
1
2
3
4
5
<dependency>
     <groupid>commons-chain</groupid>
     <artifactid>commons-chain</artifactid>
     <version>1.2</version>
   </dependency>

編寫command

?
1
2
3
4
5
6
7
8
9
10
11
12
/**
 * 退商旅卡cash
 * created by 一代天驕 on 2018/7/1.
 */
@slf4j
public class refundbusinesscardcommand implements command{
  public boolean execute(context context) throws exception {
    refundcontext refundcontext = (refundcontext) context;
    log.info("orderid:{} 退款開始,第一步:退商旅卡,金額:{}",refundcontext.getorderid(),"10");
    return false;
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * 退現(xiàn)金
 * created by 一代天驕 on 2018/7/1.
 */
@slf4j
public class refundcashcommand implements command {
 
  public boolean execute(context context) throws exception {
    refundcontext refundcontext = (refundcontext) context;
    log.info("orderid:{}退款開始,第二步:退現(xiàn)金,金額:{}",refundcontext.getorderid(),"5");
    return false;
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * 退優(yōu)惠券
 * created by 一代天驕 on 2018/7/1.
 */
@slf4j
public class refundpromotioncommand implements command{
 
 
  public boolean execute(context context) throws exception {
    refundcontext refundcontext = (refundcontext) context;
    log.info("orderid:{} 退款開始,第二步:退優(yōu)惠券,金額:{}",refundcontext.getorderid(),"20");
    return false;
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * created by 一代天驕 on 2018/7/1.
 */
@data
public class refundcontext extends contextbase {
 
  /**
   * 訂單號
   */
  private integer orderid;
 
 
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
 *
 * 退票的工作流實現(xiàn)
 * created by 一代天驕 on 2018/7/1.
 */
public class refundticketchain extends chainbase {
 
  public void init() {
    //退商旅卡
    this.addcommand(new refundbusinesscardcommand());
    //退現(xiàn)金
    this.addcommand(new refundcashcommand());
    //退優(yōu)惠券
    this.addcommand(new refundpromotioncommand());
  }
 
 
  public static void main(string[] args) throws exception {
    refundticketchain refundticketchain = new refundticketchain();
    refundticketchain.init();
    refundcontext context = new refundcontext();
    context.setorderid(1621940242);
    refundticketchain.execute(context);
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/vacblog/article/details/80875788

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜视频在线播放 | 久久久久久日产精品 | 午夜精品视频 | 国产精品久久久久久久久久久小说 | 中国大陆高清aⅴ毛片 | 亚洲欧美在线一区 | 91夜夜操 | 久久久久国产精品免费免费搜索 | 日韩和欧美的一区二区 | 爱爱免费视频网站 | 免费成人在线观看视频 | 久操免费视频 | 国产成人一区二区 | 水密桃av | 中文字幕乱码亚洲无线三区 | 国产精品自在线 | 成人久久久 | 丝袜天堂| 在线欧美一区 | 精品国产欧美一区二区 | 欧美日韩一区二区三区在线观看 | 欧美国产精品一区二区三区 | 日韩中文字幕在线观看 | 欧美日韩国产一区二区三区 | 亚洲国产精品激情在线观看 | 国产黄网站 | 久久久久久久久久影院 | 久久国产精品久久 | 五月婷婷激情网 | 亚洲啊v| 一区二区高清 | 天天干天天干天天干天天射 | 在线观看av片 | 91视频免费在线看 | 1a级毛片免费观看 | 亚洲国产精品一二三区 | 在线观看一区二区精品 | 成人中文字幕在线观看 | 狠狠干狠狠操 | 色婷婷一区二区三区 | 亚洲视频在线观看免费 |