2025-08-06 17:01:55 +03:00
|
|
|
|
2025-08-06 23:15:28 +03:00
|
|
|
/// Base interface for any universal service in the benchmarks.
|
|
|
|
|
///
|
|
|
|
|
/// Represents an object in the dependency chain with an identifiable value
|
|
|
|
|
/// and (optionally) a dependency on a previous service in the chain.
|
2025-08-06 17:01:55 +03:00
|
|
|
abstract class UniversalService {
|
2025-08-06 23:15:28 +03:00
|
|
|
/// String ID for this service instance (e.g. chain/level info).
|
2025-08-06 17:01:55 +03:00
|
|
|
final String value;
|
2025-08-06 23:15:28 +03:00
|
|
|
/// Optional reference to dependency service in the chain.
|
2025-08-06 17:01:55 +03:00
|
|
|
final UniversalService? dependency;
|
|
|
|
|
UniversalService({required this.value, this.dependency});
|
|
|
|
|
}
|
|
|
|
|
|
2025-08-06 23:15:28 +03:00
|
|
|
/// Default implementation for [UniversalService] used in service chains.
|
2025-08-06 17:01:55 +03:00
|
|
|
class UniversalServiceImpl extends UniversalService {
|
|
|
|
|
UniversalServiceImpl({required super.value, super.dependency});
|
|
|
|
|
}
|