UML时序图如何绘制传递给另一个实例的实例
UML sequence diagram how to draw instance passed to another instance
使用 UMLPlant 学习 UML 序列图。
不知道我的图对不对,怎么画washingService.AddToWashingQueue(car);
?
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);
}
}
}
只需将消息 AddToWashingQueue(car) 发送到 washingService
所以
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
使用 UMLPlant 学习 UML 序列图。
不知道我的图对不对,怎么画washingService.AddToWashingQueue(car);
?
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);
}
}
}
只需将消息 AddToWashingQueue(car) 发送到 washingService
所以
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