예제 #1
0
        static void Main(string[] args)
        {
            IhtiyacKrediManager kredi1 = new IhtiyacKrediManager();

            kredi1.Hesapla();
            TasitKrediManager kredi2 = new TasitKrediManager();

            kredi2.Hesapla();
            IKrediManager kredi3 = new KonutKrediManager();

            kredi3.Hesapla();
            BasvuruManager        basvuru = new BasvuruManager();
            DatabaseLoggerService log     = new DatabaseLoggerService();

            basvuru.BasvuruYap(kredi2, log);
            List <IKrediManager> krediler = new List <IKrediManager>();

            krediler.Add(kredi2);
            krediler.Add(kredi1);
            basvuru.KrediOnBilgilendirmesiYap(krediler, log);
            Console.WriteLine("----------");
            YeniKredi kredi4 = new YeniKredi();

            krediler.Add(kredi4);
            kredi4.Hesapla();
            basvuru.BasvuruYap(kredi4, log);
            basvuru.KrediOnBilgilendirmesiYap(krediler, log);
        }
예제 #2
0
        static void Main(string[] args)
        {
            //Interfacelerde referans numarsı tutabilir.
            IKrediBaseManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediBaseManager tasitKrediManager   = new TasitKrediManager();
            IKrediBaseManager konutKrediManager   = new KonutKrediManager();
            IKrediBaseManager esnafKrediManager   = new EsnafKredisiManager();

            ILoggerService databaseLoggerService = new DatabaseLoggerService();
            ILoggerService fileLogglerService    = new FileLoggerService();
            ILoggerService smsLoggerService      = new SmsLoggerService();

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(esnafKrediManager, new List <ILoggerService> {
                databaseLoggerService, smsLoggerService
            });

            List <IKrediBaseManager> krediler = new List <IKrediBaseManager>()
            {
                ihtiyacKrediManager, konutKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #3
0
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();

            ihtiyacKrediManager.Hesapla();
            IKrediManager tasitKrediManager = new TasitKrediManager();

            tasitKrediManager.Hesapla();
            IKrediManager konutKrediManager = new KonutKrediManager();

            konutKrediManager.Hesapla();

            Console.WriteLine("****************************");

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(tasitKrediManager, new DatebaseLoggerService());

            Console.WriteLine("****************************");

            List <IKrediManager> krediler = new List <IKrediManager>
            {
                ihtiyacKrediManager,
                tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);

            Console.ReadLine();
        }
예제 #4
0
        static void Main(string[] args)
        {
            IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();

            ihtiyacKrediManager.Hesapla();

            TasitKrediManager tasitKrediManager = new TasitKrediManager();

            tasitKrediManager.Hesapla();

            KonutKrediManager konutKrediManager = new KonutKrediManager();

            konutKrediManager.Hesapla();

            IKrediManager ihtiyacKrediManager2 = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager2   = new TasitKrediManager();
            IKrediManager konutKrediManager2   = new KonutKrediManager();

            IloggerService databaseLoggerService = new DatabaseLoggerService();
            IloggerService fileLoggerService     = new FileLoggerService();


            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(tasitKrediManager2);

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager2, tasitKrediManager2
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #5
0
        static void Main(string[] args)
        {
            BasvuruManager basvuruManager = new BasvuruManager();

            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();
            IKrediManager esnafKrediManager   = new EsnafKrediManager();

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

            List <ILoggerService> loggers = new List <ILoggerService> {
                smsLoggerService, databaseLoggerService, fileLoggerService
            };
            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager, esnafKrediManager, konutKrediManager
            };

            basvuruManager.BasvuruYap(new EsnafKrediManager(), loggers);



            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #6
0
        static void Main(string[] args)
        {
            IKrediManager ıhtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();

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

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(ıhtiyacKrediManager, fileLoggerService);

            Console.WriteLine("****************************");

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ıhtiyacKrediManager,
                tasitKrediManager,
                konutKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);

            Console.ReadLine();
        }
예제 #7
0
        static void Main(string[] args)
        {
            //IhtiyacKrediManager
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();

            //TasitKrediManager
            IKrediManager tasitKrediManager = new TasitKrediManager();

            //KonutKrediManager
            IKrediManager konutKrediManager = new KonutKrediManager();

            BasvuruManager basvuruManager = new BasvuruManager();
            //basvuruManager.BasvuruYap(ihtiyacKrediManager);
            //list kısmını yazınca karışmaması için comment yaptık


            //burada parantezin içine IKrediManager bir interface new lenemez çünkü ama
            //başvuru yaparken; ihtiyaç,konut taşit ı yollayabilirim
            //burası şubedeki arakdaşın ekranı.kullanılabilecek krediler. 3 tane suan
            //hangi krediyi gönderirsen aslında onun hesaplaması başlıyor.

            //IhtiyacKrediManager, TasitKrediManager  bunları demek yerine IKrediMAnager da diyebiliriz.
            //bu demek oluyor ki; interfaceler de o interface ı implemente eden referans numarasını tutabiliyormuş.
            //yani interface onu implement eden class ın referansını tutabilir.

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #8
0
        static void Main(string[] args)
        {
            //TasitKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            //KonutKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();

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


            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();


            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(ihtiyacKrediManager, databaseLoggerService);
            basvuruManager.BasvuruYap(konutKrediManager, fileLoggerService);
            //basvuruManager.BasvuruYap(tasitKrediManager);

            List <IKrediManager> krediler = new List <IKrediManager> {
                tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #9
0
        static void Main(string[] args)
        {
            IKrediManager     ihtiyacKrediManager = new IhtiyacKrediManager(); //Interfacelerde o interface'i İmplement eden classın referans numarasını tutabiliyor burada görüldüğü üzere
            TasitKrediManager tasitKrediManager   = new TasitKrediManager();
            KonutKrediManager konutKrediManager   = new KonutKrediManager();

            ILoggerService fileLoggerService = new FileLoggerService();
            ILoggerService smsLoggerService  = new SmsLoggerService();

            List <ILoggerService> loggers = new List <ILoggerService>()
            {
                fileLoggerService, smsLoggerService
            };

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(konutKrediManager, new List <ILoggerService>()
            {
                new DatabaseLoggerService(), new SmsLoggerService()
            });                                                                                                                               //burdaki gibi parantez içinde de newleyebilirsin ya da yukarıdaki gibi newleyip içine de yazabilirsin.
            // Örnek : ILoggerService databaseLoggerService = new DatabaseLoggerService()
            basvuruManager.BasvuruYap(new EsnafKrediManager(), loggers);
            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #10
0
파일: Program.cs 프로젝트: yozdel/Kodlama
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();

            IKrediManager tasitKrediManager = new TasitKrediManager();

            IKrediManager konutKrediManager = new KonutKrediManager();

            List <ILoggerService> loggers = new List <ILoggerService> {
                new DatabaseLoggerService(), new FileLoggerService()
            };

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(ihtiyacKrediManager, loggers);
            //basvuruManager.BasvuruYap(tasitKrediManager, new FileLoggerService());
            //basvuruManager.BasvuruYap(konutKrediManager, new DatabaseLoggerService());
            //basvuruManager.BasvuruYap(new EsnafKredisiManager(), new SmsLoggerService());


            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, konutKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #11
0
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            IKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            IKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();

            ILoggerService databaseLoggerService = new DatabaseLoggerService();

            ILoggerService fileLoggerService = new FileLoggerService();

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(new EsnafKredisiManager(), new List <ILoggerService> {
                databaseLoggerService, new SmsLoggerService()
            });
            //yukarıda bunların instance ını oluşturursam içinde tekrar new dememe gerek kalmayacak

            //krediönbilgilendirmesiyap için
            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #12
0
        static void Main(string[] args)
        {
            //Interfaceler de miras olduğu class ın referansını tutabilir.(bkz: IKrediManager -> IhtiyacKrediManager)
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();


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

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(new EsnafKrediManager(), (new List <ILoggerService> {
                new SmsLoggerService(), new FileLoggerService()
            }));                                                                                                                              // yukarıda seçilen kredi türüne göre hesaplama ile başvuru yap çalışır.
            //yukarıdaki parantes içi gibi de newlenebilir.


            Console.WriteLine(".............");
            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                tasitKrediManager, ihtiyacKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #13
0
        static void Main(string[] args)
        {
            IKrediManager  ihtiyacKrediManager   = new İhtiyacKrediManager(); //İnterfacelerde onları implemente eden classların referans numarasını tutabilir
            IKrediManager  tasitKrediManager     = new TasitKrediManager();
            IKrediManager  konutKrediManager     = new KonutKrediManager();
            BasvuruManager basvuruManager        = new BasvuruManager();
            ILoggerService databaseLoggerService = new DatabaseLoggerService();//yapabildik çünkü ILoggerService de bizim için database ve file classının referansını tutuyor
            ILoggerService fileLoggerService     = new FileLoggerService();

            basvuruManager.BasvuruYap(konutKrediManager, new List <ILoggerService> {
                databaseLoggerService, fileLoggerService
            });
            //bizden liste istemişti bizde ona liste gönderdik ve bu listenin içindekilerin hepsi için loglamayı çalıştırabilsin

            //yani biz burada IKrediManager döndermemiz gereken yerde diğer her ihtiyac kredisini gönderebildik
            //çünkü IKrediManager bizim için bu üç kredinin referansını tuttu

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            //burada banka personeli buttonlara basıp listeye kredi ekliyormuş similasyonu gibi düşün
            // IKrediManager tipinde bir liste istiyordu bizden önbilgilendirme methodu zaten
            //bu sayede bu method sadece bizim istediğimiz listeye eklediğimiz kredilerin hesapla fonksiyonlarını çağırabilicek
            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #14
0
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new İhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            IKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();

            IKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            // kredilerin yerine IKrediManager yazsaydık oda kabuledilebilirdi.

            ILoggerService databaseLoggerService = new DataBaseLoggerService();
            ILoggerService fileLoggerService     = new FileLoggerService();

            List <ILoggerService> loggers = new List <ILoggerService> {
                new FileLoggerService(), new DataBaseLoggerService()
            };

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(tasitKrediManager, fileLoggerService);

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #15
0
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();


            IKrediManager tasitKrediManager = new TasitKrediManager();


            IKrediManager konutKrediManager = new KonutKrediManager();

            IKrediManager   esnafKrediManager  = new EsnafKrediManager();
            ILoglamaServisi veriLoglamaServisi = new VeritabaniLogServisi();
            ILoglamaServisi dosyLoglamaServisi = new DosyaLogServisi();
            ILoglamaServisi smsServisi         = new SmsLoglamaServisi();
            BasvuruManager  basvuruManager     = new BasvuruManager();

            List <ILoglamaServisi> loglar = new List <ILoglamaServisi>()
            {
                dosyLoglamaServisi, veriLoglamaServisi, smsServisi
            };

            basvuruManager.BasvuruYap(ihtiyacKrediManager, loglar);
            Console.WriteLine("--------------");
            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager, konutKrediManager, esnafKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler, loglar);
            Console.ReadLine();
        }
예제 #16
0
        static void Main(string[] args)
        {
            // interface ile kullanımı
            //interface onu tutan class implementi yerine kullanılabilir.
            //IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();
            //// Class ile kullanımı
            //TasitKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            //KonutKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();

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

            BasvuruManager basvuruManager = new BasvuruManager();

            //basvuruManager.BasvuruYap(tasitKrediManager);  // () içine kredilerden birini gönderbilirsin.
            //basvuruManager.BasvuruYap(konutKrediManager, new DatabaseLoggerService());
            // new ile tanımlamayı burada da yapabiliriz.
            basvuruManager.BasvuruYap(konutKrediManager, fileLoggerService);

            List <IKrediManager> krediler = new List <IKrediManager> {
                ihtiyacKrediManager, tasitKrediManager
            };

            // { } içine eklenecek kredileri hesaplama yapmasını sağlarız.
            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #17
0
        static void Main(string[] args)
        {
            IhtiyacKrediManger ihtiyacKrediManager = new IhtiyacKrediManger(); // Buradaki IhtiyacKrediManager yerine IKrediManager da desek olurdu.Aşağıdakiler içinde aynı şey söz konusu.
            // ihtiyacKrediManager.Hesapla();
            IKrediManager tasitKrediManager = new TasitKrediManager();         //Buradan anlıyoruzki:İnterfacelerde (interfaceden kastımız IKrediManager) o interface'i implemente eden classın referans numarasını tutabilir.
            // tasitKrediManager.Hesapla();
            KonutKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();



            ILoggerService databaseLoggerService = new DatabaseLoggerService();
            ILoggerService fileLoggerService     = new FileLoggerService();//Elimizde 2 tane loglayıcı var.Biri üstteki,biri de buradaki.

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(konutKrediManager, databaseLoggerService); // burada BasvuruYap diyorki ben burada bu işi loglama yapacam o yüzden hangi loglama işini yapacağımı söyle diyor.
            //Yukarıdaki kodun açıklaması:BasvuruYap , konutKredisine göre ve loglamayı veri tabanına yapacak şekilde.

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager, konutKrediManager
            };                                                                                                                   //Buraya istediğin kadar kredi gönderebilirsin.BasvuruManager'daki foreach hepsini dolaşacaktır.

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
        static void Main(string[] args)
        {
            IKrediManager  ihtiyacKrediManager   = new IhtiyacKrediManager();
            IKrediManager  tasitKrediManager     = new TasitKrediManager();
            IKrediManager  konutKrediManager     = new KonutKrediManager();
            ILoggerService databaseLoggerService = new DatabaseLoggerService();
            ILoggerService fileLoggerService     = new FileLoggerService();

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(ihtiyacKrediManager, fileLoggerService);

            Console.WriteLine("---------------------------------------");

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);

            Console.WriteLine("---------------------------------------");

            basvuruManager.BasvuruYap(new EsnafKredisiManager(), new SmsLoggerService());
        }
예제 #19
0
        static void Main(string[] args)
        {
            //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            //KonutKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();

            //TasitKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            ////interfacelerde o interfacei implement ettiği classın referansını tutar

            //IKrediManager ihtiyacKrediManager2 = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            //IKrediManager konutKrediManager2 = new KonutKrediManager();
            //konutKrediManager.Hesapla();

            //IKrediManager tasitKrediManager2 = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            Console.WriteLine("Dependency Sornası\n ");
            IKrediManager ihtiyacKrediManager2 = new IhtiyacKrediManager();
            IKrediManager konutKrediManager2   = new KonutKrediManager();
            IKrediManager tasitKrediManager2   = new TasitKrediManager();

            ILoggerService FileLoggerService = new FileLoggerService();

            List <ILoggerService> servisler = new List <ILoggerService>()
            {
                FileLoggerService
            };

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(ihtiyacKrediManager2, servisler); //Yöntem1
            basvuruManager.BasvuruYap(konutKrediManager2, new List <ILoggerService> {
                new DatabaseLoggerService(), new FileLoggerService()
            });                                                                                                                                               //Yöntem2
            basvuruManager.BasvuruYap(tasitKrediManager2, servisler);

            Console.WriteLine("\nListe Sornası\n ");
            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager2, tasitKrediManager2, konutKrediManager2
            };



            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #20
0
        static void Main(string[] args)
        {
            //Interface onu implemente eden class'ın referansını tutabilir.

            ////KonutKrediManager konutKrediManager = new KonutKrediManager();
            //IKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();

            ////IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //IKrediManager ihtiyacKrediManager =new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            ////TasitKrediManager tasitKrediManager = new TasitKrediManager();
            //IKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();


            IKrediManager konutKrediManager   = new KonutKrediManager();
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();

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


            List <ILoggerService> loggers = new List <ILoggerService> {
                new SmsLoggerService(), new FileLoggerService()
            };

            BasvuruManager basvuruManager = new BasvuruManager();

            //Önemli nokta. BasvuruYap(IKrediManager) yani KonutKrediManager, IhtiyacKrediManager, TasitKrediManager alabilir.

            //Burada tasit kredisi yerine ihtiyacda gönderebilirdik veya herhangi bir kredi türünüde veya logger türünü de
            //Bu yazılımda sürdürülebilirliği sağlar.
            basvuruManager.BasvuruYap(new EsnafKredisiManager(), loggers);

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                konutKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);

            //Sürdürülebilirlik ispatı: SOLID (O) -> Sisteme yeni bir kod klendiğinde mevcut kodlar bozulmaz.
            //Esnaf kredisi eklersin IKrediManager'dan miras alır. Ve implement eder hesapla kodlarını yazarız.
            //Sms logger eklerkende ILoggerService'den miras alır. Log methodunu implent'e eder kodlarını yazar ve kullanırız.
            //Ve hiçbir yerde değişiklik yapmaya gerek duymayız.
        }
예제 #21
0
        static void Main(string[] args)
        {
            IKrediManager İhtiyacKrediManager = new İhtiyacKrediManager();
            IKrediManager TaşıtKrediManager   = new TaşıtKrediManager();
            IKrediManager KonutKredisiManager = new KonutKredisiManager();

            BasvuruManager basvuruManager = new BasvuruManager();
            // basvuruManager.BaşvuruYap(İhtiyacKrediManager);

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #22
0
        static void Main(string[] args)
        {
            //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            //TasitKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            //KonutKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();


            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();

            BasvuruManager basvuruManager    = new BasvuruManager();
            ILoggerService fileLoggerService = new FileLoggerService();

            Console.WriteLine("\n******************Tasit + File*********************");
            basvuruManager.BasvuruYap(tasitKrediManager, new List <ILoggerService> {
                fileLoggerService
            });

            Console.WriteLine("\n******************Konut + Database/Sms*********************");
            basvuruManager.BasvuruYap(konutKrediManager, new List <ILoggerService> {
                new DatabaseLoggerService(), new SmsLoggerService()
            });                                                                                                                          //böyle içeride de new'leyebiliyoruz

            Console.WriteLine("\n*******************Esnaf + SMS********************");
            basvuruManager.BasvuruYap(new EsnafKrediManager(), new List <ILoggerService> {
                new SmsLoggerService()
            });

            Console.WriteLine("\n******************Ihtiyac/Tasit/Konut*********************");
            List <IKrediManager> krediler = new List <IKrediManager> {
                ihtiyacKrediManager, tasitKrediManager, konutKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);

            Console.WriteLine("\n*****************Konut + File/Database/Sms**********************");
            List <ILoggerService> loggers = new List <ILoggerService> {
                fileLoggerService, new DatabaseLoggerService(), new SmsLoggerService()
            };

            basvuruManager.BasvuruYap(konutKrediManager, loggers);
        }
예제 #23
0
        static void Main(string[] args)
        {
            İhtiyacKrediManager ihtiyacKrediManager = new İhtiyacKrediManager();

            ihtiyacKrediManager.Hesapla();

            TasitKrediManager tasitKrediManager = new TasitKrediManager();

            tasitKrediManager.Hesapla();

            KonutKrediManager konutKrediManager = new KonutKrediManager();

            konutKrediManager.Hesapla();

            Console.WriteLine("-----------------------------------------");

            IKrediBaseManager ihtiyacKrediManager2 = new İhtiyacKrediManager();

            ihtiyacKrediManager.Hesapla();

            IKrediBaseManager tasitKrediManager2 = new TasitKrediManager();

            tasitKrediManager.Hesapla();

            IKrediBaseManager konutKrediManager2 = new KonutKrediManager();

            konutKrediManager.Hesapla();

            Console.WriteLine("-----------------------------------------");

            //ILoggerService databaseLoggerService = new DatabaseLoggerService();
            ILoggerService fileLogerService = new FileLoggerService();

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(konutKrediManager, fileLogerService);
            basvuruManager.BasvuruYap(ihtiyacKrediManager2, new DatabaseLoggerService());//new DatabaseLoggerService() demek yerine yukarıda ILoggerService databaseLoggerService = new DatabaseLoggerService(); yazıp buradaki parantez içine de databaseLoggerService yazabilirim.

            Console.WriteLine("-----------------------------------------");

            List <IKrediBaseManager> krediler = new List <IKrediBaseManager>()
            {
                ihtiyacKrediManager2, tasitKrediManager2
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
            Console.WriteLine("-----------------------------------------");
        }
예제 #24
0
        static void Main(string[] args)
        {
            //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            //TasitKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            //KonutKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();

            //IKrediManager ihtiyacKrediManager2 = new IhtiyacKrediManager();
            //ihtiyacKrediManager2.Hesapla();

            //IKrediManager tasitKrediManager2 = new TasitKrediManager();
            //tasitKrediManager2.Hesapla();

            //IKrediManager konutKrediManager2 = new KonutKrediManager();
            //konutKrediManager2.Hesapla();

            IKrediManager ihtiyacKrediManager2 = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager2   = new TasitKrediManager();
            IKrediManager konutKrediManager2   = new KonutKrediManager();
            IKrediManager esnafKrediManager2   = new EsnafKrediManager();

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

            List <IKrediManager> krediManagers = new List <IKrediManager>()
            {
                ihtiyacKrediManager2,
                tasitKrediManager2,
                konutKrediManager2
            };

            List <ILoggerService> loggerServices = new List <ILoggerService>()
            {
                databaseLoggerService,
                fileLoggerService
            };

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(esnafKrediManager2, loggerServices);


            basvuruManager.KrediOnBilgilendirmesiYap(krediManagers);
        }
예제 #25
0
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasıtKrediManager   = new TasıtKrediManager();
            IKrediManager konutKredisiManager = new KonutKredisiManager();

            BasvuruManager basvuruManager = new BasvuruManager();
            //basvuruManager.BasvuruYap(konutKredisiManager);

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasıtKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #26
0
        static void Main(string[] args)
        {
            IKrediManager konutKrediManager = new KonutKrediManager();

            konutKrediManager.Hesapla();

            IKrediManager ıhtiyacKrediManager = new IhtiyacKrediManager();

            ıhtiyacKrediManager.Hesapla();

            IKrediManager tasitKrediManager = new TasitKrediManager();

            tasitKrediManager.Hesapla();

            IKrediManager esnafKrediManager = new EsnafKredisiManager();

            esnafKrediManager.Hesapla();
            //yani yukarıdan burdan anlıyoruz ki Interface onu implemente(uygulayan) eden classın referansını tutabilir.

            Console.WriteLine("-------------------");

            ILoggerService databaseLoggerService = new DataBaseLoggerService();
            ILoggerService fileLoggerService     = new FileLoggerService();
            ILoggerService smsLoggerServive      = new SmsLoggerService();

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(ıhtiyacKrediManager, databaseLoggerService, smsLoggerServive);
            basvuruManager.BasvuruYap(konutKrediManager, fileLoggerService, smsLoggerServive);
            basvuruManager.BasvuruYap(tasitKrediManager, databaseLoggerService, smsLoggerServive);
            basvuruManager.BasvuruYap(esnafKrediManager, fileLoggerService, smsLoggerServive);


            //bu kısım işimizi kolaylaştırır başvuru manager class'ı açıp içerisine IKrediManager Interfacesini yazdık
            //böyelelikle başvuru yapacağımız zaman kredileri tek tek yazmamıza gerek yoktur yukarıdaki gibi
            //BasvuruYap diyerek hangi krediyi istiyorsak oraya başvurabiliriz.

            //bu kısım mülakatlarda karşımıza çıkar çok önemli ve ayırıcı bir bilgidir.
            Console.WriteLine("--------------");

            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ıhtiyacKrediManager, konutKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #27
0
        static void Main(string[] args)
        {
            //ıhtiyyackredisi yerine IKrediManager yazılabilir
            IhtiyacKrediManager ıhtiyacKrediManager = new IhtiyacKrediManager();
            TasitKrediManager   tasitKrediManager   = new TasitKrediManager();
            KonutKrediManager   konutKrediManager   = new KonutKrediManager();

            BasvuruManager basvuruManager = new BasvuruManager();
            // basvuruManager.BasvuruYap(konutKrediManager);
            // köşeli parantez içine istediği kredi türünü seçer aynı anda hesaplama yapmak için
            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ıhtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #28
0
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new İhtiyacKrediManager();

            IKrediManager tasıtKrediManager = new TasıtKrediManager();

            IKrediManager konutKrediManager = new KonutKrediManager();

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(ihtiyacKrediManager, new DataBaseLogService());
            List <IKrediManager> krediler = new List <IKrediManager> {
                ihtiyacKrediManager, konutKrediManager, tasıtKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }
예제 #29
0
        static void Main(string[] args)
        {
            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();

            BasvuruManager basvuruManager = new BasvuruManager();

            basvuruManager.BasvuruYap(tasitKrediManager, new FileLoggerService());

            List <IKrediManager> kredis = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(kredis);
        }
예제 #30
0
        static void Main(string[] args)
        {
            //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            //TasitKrediManager tasitKrediManager = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            //KonutKrediManager konutKrediManager = new KonutKrediManager();
            //konutKrediManager.Hesapla();


            //Console.WriteLine("----------------");


            //IKrediManager ihtiyacKrediManager2 = new IhtiyacKrediManager();
            //ihtiyacKrediManager.Hesapla();

            //IKrediManager tasitKrediManager2 = new TasitKrediManager();
            //tasitKrediManager.Hesapla();

            //IKrediManager konutKrediManager2 = new KonutKrediManager();
            //konutKrediManager.Hesapla();


            //Console.WriteLine("----------------");


            IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager();
            IKrediManager tasitKrediManager   = new TasitKrediManager();
            IKrediManager konutKrediManager   = new KonutKrediManager();

            BasvuruManager basvuruManager = new BasvuruManager();
            //basvuruManager.BasvuruYap(ihtiyacKrediManager);
            //basvuruManager.BasvuruYap(tasitKrediManager);
            //basvuruManager.BasvuruYap(konutKrediManager);


            List <IKrediManager> krediler = new List <IKrediManager>()
            {
                ihtiyacKrediManager, tasitKrediManager
            };

            basvuruManager.KrediOnBilgilendirmesiYap(krediler);
        }