예제 #1
0
        static void Main(string[] args)
        {
            ICreditManager personalCreditManager = new PersonalCreditManager();
            //personalCreditManager.Calculate();

            ICreditManager carCreditManager = new CarCreditManager();
            //carCreditManager.Calculate();

            ICreditManager residenceCreditManager = new ResidenceCreditManager();
            //residenceCreditManager.Calculate();


            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.Apply(residenceCreditManager, new DatabaseLoggerService());
            applicationManager.Apply(carCreditManager, new FileLoggerService());
            applicationManager.Apply(personalCreditManager, new DatabaseLoggerService());
            Console.WriteLine("------");

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                personalCreditManager, carCreditManager, residenceCreditManager,
                new PersonalCreditManager()
            };                               //.....

            applicationManager.CreditInformation(credits);
        }
예제 #2
0
        static void Main(string[] args)
        {
            //RequirenceCreditManager requirenceCreditManager = new RequirenceCreditManager();
            //requirenceCreditManager.Calculate();

            ICreditManager vehicleCreditManager    = new VehicleCreditManager();
            ICreditManager residenceCreditManager  = new ResidenceCreditManager();
            ICreditManager requirenceCreditManager = new RequirenceCreditManager();   //Interface ile requirenceCreditManager da çağrılabiliyor.

            ILoggerService databaseLoggerService = new DatabaseLoggerService();
            ILoggerService fileLoggerService     = new FileLoggerService();
            ILoggerService smsLoggerService      = new SMSLoggerService();

            ApplicationManager applicationManager = new ApplicationManager();

            //applicationManager.TakeApplication(vehicleCreditManager, fileLoggerService);    //Burda hangi tip krediyi girdiğinde onu hesaplayacaktır. ve seçilen türde loglama yapacak
            //applicationManager.TakeApplication(vehicleCreditManager); //Bu durumda istediğimiz kadar yeni kredi tipi ekleyip çıkarabiliriz.

            applicationManager.TakeApplication(new EsnafKredisiManager(), new List <ILoggerService>()
            {
                smsLoggerService, databaseLoggerService
            });                                                                                                                                  //Yeni eklenen esnaf kredisi ve SMS loglama yöntemlerini böyle de newleyebiliriz.

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                requirenceCreditManager, vehicleCreditManager
            };                                                                                                         //kredi karşılaştırması için seçilen krediler listesi {} içine yazılır

            applicationManager.CreditPreInformation(credits);
        }