Example #1
0
        /// <summary>
        /// Returns an instanse of the profession requested
        /// </summary>
        /// <param name="ProfessionalType"></param>
        /// <returns></returns>
        public static IProfessional GetProfessional(string ProfessionalType)
        {
            IProfessional professional = null;

            var professionalObject = Activator.CreateInstance(Type.GetType(ProfessionalType));

            professional = professionalObject as IProfessional;

            return(professional);
        }
Example #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Whom do you want to hire? Doctor or Engineer");
            var option = Console.ReadLine();

            var           type         = GetProfessionalType(option);
            IProfessional professional = ProfessionalFactory.GetProfessional(type);

            Console.WriteLine("Whom did i hire? " + professional.GetProfession());

            Console.ReadLine();
        }
Example #3
0
        public static void Main(string[] args)
        {
            ProfessionalFactory FactoryProfessional = new ConcreteProfessionalFactory();
            IProfessional       SystemEngineer      = FactoryProfessional.GetProfessional("Sistemas");
            IProfessional       ChemicalEngineer    = FactoryProfessional.GetProfessional("Quimico");
            IProfessional       CivilEngineer       = FactoryProfessional.GetProfessional("Civil");

            SystemEngineer.SetData();
            ChemicalEngineer.SetData();
            CivilEngineer.SetData();
            LazySingletonProfesional.Instance.InsertProfessional(SystemEngineer);
            LazySingletonProfesional.Instance.InsertProfessional(ChemicalEngineer);
            LazySingletonProfesional.Instance.InsertProfessional(CivilEngineer);
            LazySingletonProfesional.Instance.ShowListProfessionals();
            LazySingletonProfesional.Instance.DeleteProfessional("carlos");
            LazySingletonProfesional.Instance.ShowListProfessionals();
            LazySingletonProfesional.Instance.FindProfessional("pedro").ShowData();
        }
Example #4
0
 public void InsertProfessional(IProfessional professional)
 {
     Professionals.Add(professional);
 }