Блог им. SergeyEgorov
public interface DataContext { T Get<T>(); }
/// Получите ссылку на контекст торговых данных DataContext tradingDataContext = TradingData.Instance; /// Если вам нужно только читать данные из коллекции, используйте такой вызов IEnumerable<Tick> ticks = tradingDataContext.Get<IEnumerable<Tick>>(); /// Если вы хотите изменять содержимое коллекции, добавляя или удаляя ее элементы /// но чтобы при этом не срабатывали алгоритмы, наблюдающие изменение коллекции /// используйте следующий вызов ICollection<Bar> bars = tradingDataContext.Get<ICollection<Bar>>(); /// Если вы хотите изменять содержимое коллекции, заставляя при этом срабатывать /// алгоритмы, наблюдающие за ее содержимым, используйте такой вызов ObservableCollection<Trade> trades = tradingDataContext.Get<ObservableCollection<Trade>>();
видео не смотрел…
Вообще, как поклонники дядюшки Боба Мартина и процесса гибкой разработки agilemanifesto.org/iso/ru/, мы всегда сначала пишем тесты, потом код. Поэтому весь наш код покрыт модульными тестами и аналогом приемочных тестов, написанных с использованием техники модульного тестирования. Так что даже там, где наш код не выглядит красиво, его работоспособность все равно гарантирована тестами.
В части функциональности мы пытаемся разработать конструкцию, с небольшим количеством основных, повторно используемых, коротких фрагментов кода, реализующих повседневно необходимый трейдеру набор возможностей. При этом мы все еще пробуем разные подходы, пытаясь найти-вывести органичный для предметной области API, который был бы пусть не интуитивно, но понятен и удобен большинству трейдеров, практикующих программирование.
Ну и надо не забывать что у s# исходники за бабло или для особо приближенных. А отладка ихнего обфусцированного кода то еще удовольствие, да :)
На стокшарпе я ничего не писал, поэтому не могу объективно ничего про него сказать. В их учебных видео, тех, которые мне довелось посмотреть, меня поразило обилие анонимных делегатов, которые мы не практикуем никогда, потому что их невозможно тестировать.