public string HandleRequest(SoftwareRequest request) { if (this.CanHandle(request)) { return this.DevelopSoftware(request); } if (this.Successor != null) { return this.Successor.HandleRequest(request); } return "This software cannot be developed by our team"; }
protected override string DevelopSoftware(SoftwareRequest request) { return "Software Created by the Regular Developer Team!"; }
protected override bool CanHandle(SoftwareRequest request) { return request.Difficulty <= MaximumDifficultyToHandle; }
protected abstract string DevelopSoftware(SoftwareRequest request);
protected abstract bool CanHandle(SoftwareRequest request);