在交易系统中,如果一开始支持股票和期货,然后逐步增加国债、期权等交易品种的支持,可能代码中会有许多的switch...case都会对不同交易品种进行处理。特别是O32的回调函数中,一般都需要做这样的分别处理。
这对于代码的维护是一个致命的问题:开发人员可能无法找到所有的switch...case,而且在添加新的类型时还需要了解当前代码中是否应该支持新的类型、如何实现,或者可能对其他业务都有很要的了解,要求非常高。
使用Bundle,可以在Bundle中封装好所有新业务的处理逻辑并提供输入接口(event回调),在外部接口处理代码中对新业务的输入接口完整的进行挂载,外部数据变化事件发生时,所有的处理逻辑都在Bundle内部,开发人员只需要熟悉新业务即可。
网友评论