Versions Compared

Key

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

...

  1. Suggestion by Gena on pull / loop approach, LinkableComponent
Code Block
  public interface ILinkableComponent
  {
      LinkableComponentStatus Status { get; }

      void Initialize();

  // =================================== pull approach

  var triggerExchangeItem = component.OutputItems[0];
  triggerComponent.GetValues(triggerExchangeItem);


  // =================================== loop approach

  while(!allComponentsAreFinished)
  {
      void Validate();

foreach(var component in components)
      {
  void Update();

      void Finish();

if(component.Status != LinkableComponentStatus.Finished)
        IList<IInputItem> InputItems {
   get;  }

      IList<IOutputItem> OutputItems { get; }
component.Update();
      IList<IOutputDecorator> OutputDecorators { get; }

      // (another discussion) filtered data}
  }

  public interface ILinkableComponent
  {
    // get's valuesLinkableComponentStatus fromStatus the{ specifiedget; component}
      IMatrixvoid GetValuesInitialize(IInputExchangeItem query);

       //void Validate();
      // when this property is set to true
      //void Update();
      void Finish();
      //IList<IInputItem> defaultInputItems value{ is false (allow cascade calls, pull-driven)get; }
      //
      bool CascadeUpdateCallsDisabled IList<IOutputItem> OutputItems { get; set; }
  }

  public interface IInputItem : IExchangeItem
  {
      IMatrix Values { get; set; }
  }

  public interface IOutputItem : IExchangeItem
  {
      IMatrix Values { get; }
  }

  // =================================== pull approach

  var triggerExchangeItem = component.OutputItems[0];

  triggerComponent.GetValues(triggerExchangeItem);


  // =================================== loop approach

  while(!allComponentsAreFinished)
  {
      foreach(var component in components)
      {
        bool CascadeUpdateCallsDisabled { get; set; }

      // Suggestion: ask for specific values: e.g. filtered data
      IList  if(component.Status != LinkableComponentStatus.Finished)
        GetValues(IInputExchangeItem query);

  }

  1. Gena's suggestion for 2D return type
    Code Block
    
    
      public interface IInputItem : IExchangeItem
      {
          IMatrix Values { get; set; }
      }
    
      

...

  1. public interface IOutputItem : IExchangeItem
      {
        

...

  1.   IMatrix Values { get; }
      }

...

  1. 
    

...

  1. 
      public interface IMatrix : IList
      {
          int Rows { get; }
    
          int Columns { get; }
    
          object GetValue(int row, int column);
    
          void SetValue(object value, int row, int column);
    
          object[,] GetValues(int startRow, int endRow, int startColumn, int endColumn);
    
          void SetValues(object[,] values, int startRow, int endRow, int startColumn, int endColumn);
      }
    

5. Release 2.0 plan

5.1. Documentation / basic / changes

...