Skip to content

用于业务与业务之间的关系处理,帮助业务解耦,轻松实现业务级的复用

License

Notifications You must be signed in to change notification settings

ftmtshuashua/EventChain

Repository files navigation

EventChain

License Apache2.0

EventChain 是一个用于对复杂的业务场景进行解耦的库。

将复杂的业务流程抽象和拆务分为多个相互独立的业流程,其中独立的业务流程称之为Event。然后利用EventChain进行积木式搭建成完整的业务流程。

EventChain

Download

repositories {
    maven { url 'https://www.jitpack.io' }
}

dependencies {
    implementation 'com.github.ftmtshuashua:EventChain:2.0.2'
}

USE

创建业务事件并在之后执行
/**
* 创建一个事件,该事件的入参是一个整形数据,出参也是一个整形数据.
* 内部逻辑将入参平方后结束.
*/
class SimperEvent() : BaseEvent<Int, Int>() { 
    override fun onCall(params: Int) {
        next(params * params)
    }
}

//lesson 1 - 简单使用,并获取执行结果
SimperEvent()
    .listener(OnEventNextListener { println("result:$it") })	//result:4
    .start(2)
	
//lesson 2 - 将多个事件组合求值
SimperEvent()
    .listener(OnEventNextListener { println("result:$it") })	//result:4
    .chain(SimperEvent())
    .listener(OnEventNextListener { println("result:$it") })	//result:16
    .start(2)

About

用于业务与业务之间的关系处理,帮助业务解耦,轻松实现业务级的复用

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published