我是一名具有.NET背景的开发人员,我很想进入交易应用领域。我必须学习哪些技术才能开发交易应用程序?我见过C / C ++,还有其他吗?人们用什么用于GUI?
答案 0 :(得分:2)
我看到银行中的大多数技术(例如C#前端,Java后端,用于分析的C / C ++)。大多数风格的SQL /关系数据库。时间序列和对象数据库使用不多。
我没有看到很多,并且应该看到更多,是对网络和实时价格信息的理解(例如Tibco / Triarch)。这些是在交易大厅周围交付数据的关键。理解网络协议(例如TCP / UDP之间的差异)和容量对于系统的体系结构和性能很重要(在这种情况下,性能非常重要)。
答案 1 :(得分:1)
我建议您选择两种不同的技术:一种用于GUI演示,另一种用于交易应用服务器/逻辑。
如果你必须选择c ++和c#,那就把c ++作为服务器,c#作为客户端部分。
但是,如果您要从头开始开发,我建议不要将c ++用作服务器端,而是使用已经实现了事务,安全性和ORM的框架的语言。
答案 2 :(得分:1)
最好尽可能晚地推迟特定的技术决策,特别是那些涉及实施细节而不是核心域行为的决策,例如数据库和gui。一个好的技术是首先开发核心域(我认为Java和C#似乎是这个领域的大语言),用简单的字典替换数据库,用单元测试代替gui,这种方式,尤其是测试驱动的开发,你将得到一个整洁,干净的架构,并在“层”之间减少耦合。如果事实证明你需要使用一个大表db而不是一个rdms,或者一个web界面而不是一个桌面gui,那就不那么戏了。
就gui而言,看看MVP模式。这样可以保持可测试性,而无需借助屏幕刮削工具,以及提高可维护性。当然,其他类似的模式可用,具体取决于您最终要做的事情,例如Web应用程序的MVC或WPF应用程序的MVVM。
答案 3 :(得分:1)
那么该架构到底是什么呢?
没有开发交易应用程序的方法。它们有各种不同的口味,某些市场的需求使得成千上万的选择与日间交易者或经纪人的需求大不相同。如果你找到了一个可以实际进入并提供你自己写的东西的利基,最重要的是要理解的可能不是特定的语言,而是客户如何工作以及他需要什么。
此外,从头开始开发可能会导致架构与您在大多数标准产品中看到的架构非常不同。如果你不是从头开始自己开店,我会说最好知道5到10年前事情是如何有效地完成的,而不是试着深入了解目前最受欢迎的任何架构。
总而言之,我认为大多数其他评论员都做对了。您在盒装产品中看到的大多数(新)GUI都是基于.NET的,而大多数服务器都是Java,C / C ++或它们的混合。至少其中一个可能会有所帮助。在某些部分,我看到Eclipse RCP被选中用于客户端,我个人认为这很好。对于已经存在几年的系统或内部开发的系统(其中有很多系统)你应该期待任何东西。
C#前端与Java交谈 调用某些c / C ++代码的服务 用于在同一台机器上进行分析 我离开了吗?
你至少会看到越来越多的东西和C / C ++部分可能是人们想要摆脱的部分,因为java变得越来越好,从java到C / C ++的跳跃是既昂贵(取决于你在做什么)又难以维护。
我已经在这个行业工作了一段时间,但鉴于这个问题很普遍,我认为我不能提出更具体的答案。