Пример #1
0
        public static Profesor crearProfesor(int queProfesor)
        {
            FabricaDeProfesores fabrica = null;

            switch (queProfesor)
            {
            case LOCAL:
                fabrica = new FabricaDeProfesorLocal();
                break;

            case VISITANTE:
                fabrica = new FabricaDeProfesorVisitante();
                break;

            case SUPLENTE:
                fabrica = new FabricaDeProfesorSuplente();
                break;
            }
            return(fabrica.crearProfesor());
        }
Пример #2
0
        // Variante 3: Se trabaja con una fábrica concreta
        public static Curso crearCurso3(List <Alumno> alumnos, FabricaDeProfesores fabrica)
        {
            Profesor p = fabrica.crearProfesor();

            return(new Curso(p, alumnos));
        }
Пример #3
0
        // Variante 2: La fábrica se setea fuera del método que pide la creación de los objetos
        public static Curso crearCurso2(List <Alumno> alumnos)
        {
            Profesor p = FabricaDeProfesores.crearProfesorPreseteado();

            return(new Curso(p, alumnos));
        }
Пример #4
0
        // Variante 1: El propio método elige que crear
        public static Curso crearCurso1(List <Alumno> alumnos)
        {
            Profesor p = FabricaDeProfesores.crearProfesor(FabricaDeProfesores.SUPLENTE);

            return(new Curso(p, alumnos));
        }