static void Main(string[] args) { //Create model for keeping all data var model = new Model(); //Fill model with data by parsing data source var parser = new DataParser(model); parser.ParseSource(); //Run algorithm for the data model new MyAlgorithm().Run(model); //Put the result to output parser.GenerateOutput(); }