我在设计将使用一个市场的API放在市场订单交易应用程序的过程。 这是不是在投资银行中发现的那种复杂的高性能算法交易应用。 这仅仅是一个小型的个人申请将交易一天也许是两或三次根据市场情况/趋势
该应用程序将包括(大致)以下模块/包的:
策略
- 实际交易算法
Analytics(分析)
- 用于分析市场上的实时价格和订单的类产生购买/卖出信号
服务
- 用于维护市场的连接,获取市场信息和地方的买/卖单的类。
到目前为止,应用程序所需的一切似乎是在互联网上提供:
* 阿帕奇CXF生成用于访问该市场的Web服务的Java类。
* 阿帕奇数学的执行定价分析
* 维基百科的各种设计模式,即工厂,主题/观察员国等。
当我真的卡住但是与算法。 我已经决定使用State模式进行分区,到逻辑分组,当满足一定的市场条件下应执行的各个部分的逻辑。 问题是,我开始看到,这是很可能每个状态类将包含如果else语句爆炸:
if(this_condition) {
// do something
} else if (another_condition) {
// do something else
} else {
// etc..., etc...
}
我不禁觉得我失去了一些东西,因此必须存在一定的框架或设计模式,我不知道这使得开发者给定的业务上下文的所有输入和输出封装为有限数量的业务操作的[输入/输出]在其上的业务规则[算法]可以构建。 即而不是必须硬编码,我希望它应该有可能使应用到某种规则处理器的算法。 不幸的是,我不知道从哪里开始这一点。 我希望我已经解释了我的两难困境不够清楚,如果你想我澄清任何事情,请让我知道。 谢谢