using System.Linq; using AppSys.Handlers; using Base; namespace AppSys{ public sealed class App : IApp{ private static readonly IHandler[] Handlers = { new HandlerProcesses(), new HandlerApps() }; public string[] RecognizedNames => new string[]{ "sys", "os", "win" }; public MatchConfidence GetConfidence(Command cmd){ return Handlers.Any(handler => handler.Matches(cmd)) ? MatchConfidence.Full : MatchConfidence.None; } public string ProcessCommand(Command cmd){ return Handlers.First(handler => handler.Matches(cmd)).Handle(cmd); } } }