Схема последовательности UML, как рисовать экземпляр, переданный другому экземпляру - PullRequest
1 голос
/ 01 августа 2020

Изучение диаграмм последовательностей UML с помощью UMLPlant. Не уверен, что моя диаграмма верна, и как нарисовать washingService.AddToWashingQueue(car);?

диаграмма uml

Заводской код UML

@startuml UML
Program -> Program : Main
Activate Program
create "washingService:WashingService"
Program -> "washingService:WashingService" : new
create "car:Car"
Program -> "car:Car" : new
Program -> "car:Car" : GetCarSerialNumber
Program -> "car:Car" : GetSpeed
@enduml


namespace ConsoleApp1
{
    interface IEngine
    {
        int GetSpeed();
    }

    public class Car : IEngine
    {
        public int GetSpeed()
        {
            return 42;
        }

        public string GetCarSerialNumber()
        {
            return "RT87J324";
        }
    }

    public class WashingService
    {
        private Queue<Car> queue = new Queue<Car>();

        public void AddToWashingQueue(Car car)
        {
            queue.Enqueue(car);
        }
    }

    class Program
    {
        public static void Main(string[] args)
        {
            WashingService washingService = new WashingService();
            Car car = new Car();
            var serialNumber = car.GetCarSerialNumber();
            var speed = ((IEngine)car).GetSpeed();
            washingService.AddToWashingQueue(car);
        }
    }
}

1 Ответ

2 голосов
/ 01 августа 2020

просто отправьте сообщение AddToWashingQueue (автомобиль) на услугу стирки

так

Program -> "washingService:WashingService" : AddToWashingQueue(car) 

чтобы получить

@startuml
Program -> Program : Main
Activate Program
create "washingService:WashingService"
Program -> "washingService:WashingService" : new
create "car:Car"
Program -> "car:Car" : new
Program -> "car:Car" : GetCarSerialNumber
Program -> "car:Car" : GetSpeed
Program -> "washingService:WashingService" : AddToWashingQueue(car) 
@enduml

введите описание изображения здесь

...