Core/Segments/SegmentRegistry.cs
namespace Core.Segments;
public class SegmentRegistry : ISegmentRegistry { private readonly Dictionary<string, AbstractSegment> _segmentsRegistry; public SegmentRegistry ( IEnumerable<AbstractSegment> segments ) { _segmentsRegistry = new Dictionary<string, AbstractSegment>(); foreach (AbstractSegment segment in segments) { _segmentsRegistry.Add(segment.Name, segment); } } public AbstractSegment[] GetSegments(LinkedList<string> linkedOrder) { List<AbstractSegment> segments = new List<AbstractSegment>(); foreach (string segmentName in linkedOrder) { if (_segmentsRegistry.ContainsKey(segmentName)) segments.Add(_segmentsRegistry[segmentName]); } return segments.ToArray(); } } |