// OPCION 1:

public class InterfazUsuario {
    private Controlador controlador;
}
public class Bodega {
    private InterfazUsuario iu;
    private Map<String, Vino> vinos; //Clave: nombre del vino
    private Map<String, Viticultor> viticultores; //Clave: identificador viticultor
    private List<MaquinaBaco> maquinas;
    private Map<String,Uva> uvas ;
}
public class Componente{
    private Uva uva ;
    private int porcentaje ;
}
public class Vino {
    private String nombre;
    private double graduacion;
    private String denominacion;
    private List<Componente> componentes; // O Set
}
public class Viticultor implements Enologo {
    private String id, nombre, apellidos;
    private double superficieCultivada;
    private Map<String, Uva> uvas; //Clave: variedad de uva
}
public class MaquinaBaco implements Enologo {
    private String numSerie, marca, modelo;
    private int añoCompra;
    private Map<String, Uva> uvas; //Clave: variedad de uva
}
public class Uva {
    private String variedad, color, floracion, cosecha;
}

// OPCION 2: TODAS LAS CLASES IDÉNTICAS SALVO:
// 1. No presencia de clase Componente.
//2. La clase Vino quedaría como sigue:

public class Vino {
    private String nombre;
    private double graduacion;
    private String denominacion;
    private Map<Uva, Integer> componentes; //Clave: objeto Uva; Valor: % del tipo de uva
}

