protected override bool Resolve(Trouble trouble) { if (trouble.GetNumber() < _limit) { return(true); } else { return(false); } }
public void SupportTrouble(Trouble trouble) { if (Resolve(trouble)) { Done(trouble); } else if (_next != null) { _next.SupportTrouble(trouble); } else { Fail(trouble); } }
protected void Fail(Trouble trouble) { WriteLine($"{trouble} cannot be resolved."); }
protected void Done(Trouble trouble) { WriteLine($"{trouble} is resolved by {this}"); }
protected abstract bool Resolve(Trouble trouble);
protected override bool Resolve(Trouble trouble) { return(false); }