小编Joe*_*ack的帖子

我在哪里可以了解正确的C#项目架构设计?

我是一个本土的程序员,并且已经用C#编写了我最近的大多数应用程序.这些应用程序通常是帮助我完成日常任务的小工具.我倾向于使用良好的设计模式,但由于我的项目通常规模很小,我只是将所有内容转储到一个Visual Studio项目(GUI,域代码等)中.

我一直想开发一个更大的金融导向应用程序(股票/期货期权分析/建模),但我不太确定如何接近实际的架构/组织.我已经深入研究了一些开源财务应用程序的代码,它们通常被安排到许多子项目中.即:FinApp.Core,FinApp.GUI,FinApp.API,FinApp.DataStorage,FinApp.WebService等.

我在哪里可以了解如何最好地构建大型应用程序?

c# architecture enterprise organization

10
推荐指数
0
解决办法
2万
查看次数

你会如何在F#中解决这个问题?(高频传感器数据)

我是一名机械工程研究生,我的顾问刚刚让我为我们的一个传感器项目编写数据可视化实用程序.因为这是夏天,他希望我对它有一些乐趣,我认为这是学习一门擅长科学计算的语言的好时机,所以我继续前进,直接进入F#.

由于我是功能编程范例的新手,我在构建程序时遇到了一些困难,特别是考虑到在F#中轻松组合OO/FP的可能性.我的任务如下:

  1. 我们有数十个传感器不断报告数据(每隔几秒钟一次).
  2. 我需要同时连接所有传感器,创建每个传感器输出的内存时间序列,然后实时计算这些时间序列的各种统计数据.
  3. 每隔几个小时我就需要将数据刷新到二进制文件中以进行日志记录.

我该如何设计我的应用程序?我想过这样的事情:1.我打算连接到每个传感器以开始接收数据,然后将这些数据转储到消息队列中.我有一个事件驱动的处理函数接收队列上的数据.当接收到数据时,确定数据来自哪个传感器,然后将数据放入相应传感器的时间序列对象中.3.每次添加传感器数据时间序列对象时,我都可以触发一个事件并让我的统计函数处理传感器的新数据.

显然我需要在这个应用程序中保持某种状态.所以我添加了以下可变数据结构.我将使用通用.NET可调整大小的List来存储我的时间序列数据,并实现一个新的派生来触发数据添加事件.我可以在一个字典中存储sensorid和实际时间序列容器之间的映射(当数据从队列中弹出时,我可以读取sensorid字段,获取该sensorid的时间序列容器,然后轻松添加新数据).我还可以有第二个字典来存储sensorid和包含该sensorid时间序列统计信息的各个时间序列之间的映射.当添加主传感器时间序列时,它会触发一个事件来调用所有统计函数以在新数据上运行它们,并将它们的信息存储在该sensorid的相应字典中.

我还没有想过如何保存数据,但我想我可以用数据写出二进制文件.

任何建议,想法或参考表示赞赏.

谢谢 :)

.net f# functional-programming

4
推荐指数
1
解决办法
579
查看次数