Refactoring identifiers

This commit is contained in:
Michael Schimmel
2025-07-24 07:59:41 +02:00
parent 7b2446b220
commit 6a114f77c5
4 changed files with 70 additions and 65 deletions
+18 -18
View File
@@ -59,8 +59,8 @@ type
// Abstract base class for components that process data of type S and provide data of type T.
TMycConverter<S, T> = class abstract(TMycProcessor<S>, IConverter<S, T>)
private
FSender: TMycContainedDataProvider<T>;
function GetSender: IDataProvider<T>;
FDataProvider: TMycContainedDataProvider<T>;
function GetDataProvider: IDataProvider<T>;
protected
function ProcessData(const Value: S): TState; override; abstract;
// Broadcasts the given data to all linked processors.
@@ -68,13 +68,13 @@ type
public
constructor Create;
destructor Destroy; override;
property Sender: IDataProvider<T> read GetSender;
property DataProvider: IDataProvider<T> read GetDataProvider;
end;
// Null object implementation for IConverter.
TNullConverter<S, T> = class(TInterfacedObject, IConverter<S, T>)
private
function GetSender: IDataProvider<T>;
function GetDataProvider: IDataProvider<T>;
public
function ProcessData(const Value: S): TState;
end;
@@ -234,14 +234,14 @@ type
Queue: TQueue<T>;
end;
FSender: TMycContainedDataProvider<TArray<T>>;
FDataProvider: TMycContainedDataProvider<TArray<T>>;
FLock: TSpinLock;
FCount: Integer;
function ProcessData(Idx: Integer; const Value: T): TState;
public
constructor Create(const ADataProviders: TArray<TDataProvider<T>>);
destructor Destroy; override;
property Sender: TMycContainedDataProvider<TArray<T>> read FSender implements IDataProvider<TArray<T>>;
property DataProvider: TMycContainedDataProvider<TArray<T>> read FDataProvider implements IDataProvider<TArray<T>>;
end;
TMycComposedConverter<S, T> = class(TMycProcessor<S>, IConverter<S, T>)
@@ -250,7 +250,7 @@ type
FDataProvider: TDataProvider<T>;
protected
function ProcessData(const Value: S): TState; override;
function GetSender: IDataProvider<T>;
function GetDataProvider: IDataProvider<T>;
public
constructor Create(const AProcessor: IMycProcessor<S>; const ADataProvider: TDataProvider<T>);
end;
@@ -352,28 +352,28 @@ end;
constructor TMycConverter<S, T>.Create;
begin
inherited Create;
FSender := TMycContainedDataProvider<T>.Create(Self);
FDataProvider := TMycContainedDataProvider<T>.Create(Self);
end;
destructor TMycConverter<S, T>.Destroy;
begin
FSender.Free;
FDataProvider.Free;
inherited Destroy;
end;
function TMycConverter<S, T>.Broadcast(const Value: T): TState;
begin
Result := FSender.Broadcast(Value);
Result := FDataProvider.Broadcast(Value);
end;
function TMycConverter<S, T>.GetSender: IDataProvider<T>;
function TMycConverter<S, T>.GetDataProvider: IDataProvider<T>;
begin
Result := FSender;
Result := FDataProvider;
end;
{ TNullConverter<S, T> }
function TNullConverter<S, T>.GetSender: IDataProvider<T>;
function TNullConverter<S, T>.GetDataProvider: IDataProvider<T>;
begin
Result := TDataProvider<T>.Null;
end;
@@ -847,7 +847,7 @@ begin
FLock := TSpinLock.Create(false);
FCount := Length(FReceivers);
FSender := TMycContainedDataProvider<TArray<T>>.Create(Self);
FDataProvider := TMycContainedDataProvider<TArray<T>>.Create(Self);
var cFunc :=
function(Idx: Integer): TConstFunc<T, TState>
@@ -875,7 +875,7 @@ begin
Queue.Free;
end;
FSender.Free;
FDataProvider.Free;
inherited;
end;
@@ -908,7 +908,7 @@ begin
end;
if Arr <> nil then
FSender.Broadcast(Arr);
FDataProvider.Broadcast(Arr);
end;
constructor TMycGenericAggregator<S, T>.Create(const AFunc: TConstFunc<S, TConverter<S, T>.TBroadcastProc, TState>);
@@ -919,7 +919,7 @@ end;
function TMycGenericAggregator<S, T>.ProcessData(const Value: S): TState;
begin
Result := FFunc(Value, function(const Value: T): TState begin Result := FSender.Broadcast(Value); end);
Result := FFunc(Value, function(const Value: T): TState begin Result := FDataProvider.Broadcast(Value); end);
end;
constructor TMycComposedConverter<S, T>.Create(const AProcessor: IMycProcessor<S>; const ADataProvider: TDataProvider<T>);
@@ -929,7 +929,7 @@ begin
FDataProvider := ADataProvider;
end;
function TMycComposedConverter<S, T>.GetSender: IDataProvider<T>;
function TMycComposedConverter<S, T>.GetDataProvider: IDataProvider<T>;
begin
Result := FDataProvider;
end;