public Report CreateReport() // шаблонный метод(использует внутри абстрактный метод GetDataRows(), реализуеммый наследниками) { var config = argParser.ParseReportConfig(_args); var dataTransformer = DataTransformerCreator.CreateTransformer(config); var fileName = argParser.ParseName(_args); var text = File.ReadAllText(fileName); var data = GetDataRows(text); return(dataTransformer.TransformData(data)); }