• Как правильно выделить объект и класс в ООП?

    @Ascar
    Ваши доменные объекты будут примерно такими:

    class Bus{
        public string Model {get;}
        public string Number {get;}    
        public Driver Driver {get;}   
        public Line Line{get;}
        public Bus(string model, string number, Driver driver, Line line){
            Model = model;
            Number = number;
            Driver=driver;
            Line=line;
        }
    }
    
    class Driver{
        public string Name {get;}    
        public Driver(string name){
            Name = name;        
        }
    }
    
    class Line{
        public DateTime GoTime {get;}
        public string Number {get;}    
        public Line(DateTime goTime, string number){
            GoTime = goTime;
            Number = number;
        }
    }
    Ответ написан
    6 комментариев
  • Как правильно выделить объект и класс в ООП?

    Decadal
    @Decadal
    В том, чтобы разбить большую задачу на классы, сильно помогает база данных. Проводя нормализацию таблиц, вы проектируете почти полностью подходящие для вас сущности.

    Но если начать с проектирования кода, то смотрите: класс Info это слишком общее название. У вас всё - info.

    Должен быть класс Driver который содержит информацию о водителе(если водитель не выделен в класс Person). Есть класс Bus, который знает про марку авто. Возможно, он будет содержать list of drivers - с инфой о том, кто обычно управляет этим авто, а может вам нужен driver - ссылка на один объект класса Driver, если нужно знать, кто управляет автобусом именно сейчас.
    Направление понятно?
    Ответ написан