static void Main(string[] args)
        {
            //LAB#2

            //Dependency Injection
            IOutput Output;

            Output = new ConsoleOutput();

            //Instantiate Factories
            var batteryFactory  = new BatteryFactory(Output);
            var chargerFactory  = new ChargerFactory(Output);
            var screenFactory   = new ScreenFactory(Output);
            var playbackFactory = new PlaybackFactory(Output);

            MobilePhone simCorpMobile = SimCorpMobile.Instance;
            int         Index;

            #region BatteryComponent
            //Ask User for an index
            Index = batteryFactory.SelectComponentIndex();
            //Create Component Class based on index
            simCorpMobile.Battery = batteryFactory.Create(Index).MobileComponent as IBattery;
            //Do something
            simCorpMobile.Install();
            #endregion

            #region ChargerComponent
            //Ask User for an index
            Index = chargerFactory.SelectComponentIndex();
            //Create Component Class based on index
            simCorpMobile.Charger = chargerFactory.Create(Index).MobileComponent as ICharger;
            //Do something
            simCorpMobile.Charge();
            #endregion

            #region ScreenComponent
            //Ask User for an index
            Index = screenFactory.SelectComponentIndex();
            //Create Component Class based on index
            simCorpMobile.DisplayScreen = screenFactory.Create(Index).MobileComponent as IScreen;
            simCorpMobile.Show();
            simCorpMobile.TouchScreen = simCorpMobile.DisplayScreen as IScreenTouch;
            simCorpMobile.Touch();
            #endregion

            #region PlaybackComponent
            //Ask User for an index
            Index = playbackFactory.SelectComponentIndex();
            //Create Component Class based on index
            simCorpMobile.Playback = playbackFactory.Create(Index).MobileComponent as IPlayback;
            simCorpMobile.Play();
            #endregion

            System.Console.ReadLine();
        }
示例#2
0
    public static void Main(string[] args)
    {
        var chinaScreenFactory = new ScreenFactory();
        var i14 = chinaScreenFactory.CreateScreen(14, 720);
        var taiwanScreenfactory = new ScreenFactory();
        var i15 = taiwanScreenfactory.CreateScreen(15, 1024);

        var japanBatteryFactory = new BatteryFactory();
        var liIon = japanBatteryFactory.CreateBattery(400, "li-ion");
        var koreaBatteryFactory = new BatteryFactory();
        var nicd = koreaBatteryFactory.CreateBattery(500, "NiCd");

        var Apple  = new MobileFactory();
        var iPhone = GetIPhone(Apple);

        var Sumsung = new MobileFactory();
        var Galaxy  = Sumsung.CreateMobile("Sumsung", 128, 5, 720, 500, "NiCd");
    }