Supponiamo che il mio codice assomigli a questo:
public class MyController
{
private Foo foo;
private FooGenerator fooGen;
//setters
public void work()
{
this.foo = this.fooGen.generateFoo();
System.out.println(this.foo.toString());
}
}
public class FooGenerator()
{
public Foo generateFoo()
{
String[] names = ["Andy", "Bob", "Charlie"];
String[] colors = ["Red", "Green", "Blue"];
int nameIndex = new Random().nextInt(names.length);
int colorIndex = new Random().nextInt(colors.length);
return new Foo(names[nameIndex], colors[colorIndex], new Random().nextInt(100));
}
}
public class Foo()
{
private String color;
private String name;
private int age;
public Foo(String color, String name, int age)
{
this.color = color;
this.name = name;
this.age = age;
}
@Override
public String toString()
{
return "This Foo's name is " + this.name + ", color is " + this.color + ", and is " + this.age + " years old.";
}
}
Quindi quello che abbiamo è MyController
HAS a FooGenerator
, e viene restituito un Foo
da FooGenerator
, che MyController
quindi utilizza.
La domanda è, come posso rappresentarlo in un diagramma UML?