Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Move IsAvailable to IExchangeItem. Is it only for a thread-safety? If yes than see also ICollection.IsSynchronized
  • Move Values { get; set; } to IExchangeItem
  • Change ID to Id - .NET Style Guidelines, FxCop
  • Add params into IArguments in Initialize(...)
  • Add IList<IArguments> Arguments { get; } in the ILinkableComponent
  • Change "string Validate()" to "bool IsValid(IExchangeItem item)"
  • Wiki Markup
    Add "params IExchangeItem\[\] items" argument to Update()
  • Add WaitingForData status to the LinkableComponentStatus
  • Remove AddConsumer/RemoveConsumer (BindingList is used in the implementation instead)
  • Temporal ==(rename)==> TimeSet and add Durations, TimeZone properties to it (see also changes from Rob in Java version)
  • When we get loops in the compositions - we have to tell which component will be first! (WHAT SHOULD WE DO IN THIS SITUATAION?) Relevant when implementing GUI
  • Replace all ITime, ITimeStamp, ITimeSpan by: System.DateTime, System.TimeSpan. Should be straightforward. For components working in Julian only time in FORTRAN CalendarConverter can be used. But for .NET all nice features of the .NET date time, time span will be available, e.g. DateTime.AddDays(int), DateTime.AddHours(int), time1 > time2, time1.AddDays(1) > DateTime.Now, and so on.
    Seems to be very straightforward and simple to implement.
  • Change XYPoint+XYZPoint, ZYPolyline+XYZPolyline => Point, Polyline (make it look more like OGC entities)
  • Split IIdentity into class IIdentifiable { long Id { get; set; } } and class IDescribable { string Caption { get; set; } string Description { get; set; } }
  • Make ComponentId and InstanceId properties strings - currently it is a bit overkill.
  • Do we need a TimeHorizon in the ILinkableComponent ? Seems to be useless since we have ITemporal

8. Tasks and unresolved issues

...