static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService database = new DatabaseLoggerService(); ILoggerService file = new FileLoggerService(); BasvuruManager basvuru = new BasvuruManager(); BasvuruManager basvuru2 = new BasvuruManager(); basvuru.BasvuruYap(konutKrediManager, new DatabaseLoggerService()); basvuru2.BasvuruYap(new EsnafKrediManeger(), new SmsLoggerServise()); //basvuru.BasvuruYap(konutKrediManager); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuru.KrediBilgilendirme(krediler); }
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(ihtiyacKrediManager, new DatabaseLoggerService()); //basvuruManager.BasvuruYap(ihtiyacKrediManager, databaseLoggerService); basvuruManager.BasvuruYap(konutKrediManager, new List <ILoggerService> { databaseLoggerService, fileloggerService }); List <ILoggerService> loggerServices = new List <ILoggerService>(); loggerServices.Add(databaseLoggerService); loggerServices.Add(fileloggerService); basvuruManager.BasvuruYap(konutKrediManager, loggerServices); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService dabaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService>() { dabaseLoggerService, fileLoggerService }; BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(tasitKrediManager, loggers); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; }
static void Main(string[] args) { IKrediManager ıhtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); IKrediManager esnafKrediManeger = new EsnafKrediManeger(); ILoggerService dataBaseLoggerService = new DataBaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(ıhtiyacKrediManager, fileLoggerService); basvuruManager.BasvuruYap(tasitKrediManager, fileLoggerService); basvuruManager.BasvuruYap(konutKrediManager, fileLoggerService); basvuruManager.BasvuruYap(esnafKrediManeger, fileLoggerService); List <IKrediManager> krediler = new List <IKrediManager>() { ıhtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); // Interfaces can hold reference of the class which implement this interface. IKrediManager tasitKrediManager = new TasitKrediManager(); // Interfaces can hold reference of the class which implement this interface. IKrediManager konutKrediManager = new KonutKrediManager(); // Interfaces can hold reference of the class which implement this interface. ILoggerService databaseloggerService = new DatabaseLoggerService(); FileLoggerService fileloggerService = new FileLoggerService(); List <ILoggerService> logger = new List <ILoggerService>() { new DatabaseLoggerService(), new SMSLoggerService() }; BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(new EsnafKredisiManager(), logger); List <IKrediManager> krediler = new List <IKrediManager>() { konutKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { //ekranlar acılır pencere gibi dusun IKrediManager ıhtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); IKrediManager esnafKrediManager = new EsnafKrediManager(); //ekranda cagırma yapacagımız yerler BasvuruManager basvuruManager = new BasvuruManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); // basvuruManager.BasvuruYap(tasitKrediManager, databaseLoggerServic); //basvuruManager.BasvuruYap(ıhtiyacKrediManager,fileLoggerService); List <ILoggerService> logger = new List <ILoggerService>() { smsLoggerService, databaseLoggerService }; //ekranda secilen logları aldı varsayılıyor. basvuruManager.BasvuruYap(esnafKrediManager, logger); List <ILoggerService> loggers = new List <ILoggerService>() { smsLoggerService, fileLoggerService }; basvuruManager.BasvuruYap(konutKrediManager, loggers); List <IKrediManager> krediler = new List <IKrediManager>() { ıhtiyacKrediManager, tasitKrediManager }; //ekrandan secilenleri liste tutup birden fazla hesaplama yaparız //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { //INTERFACELER REFERANS BİLGİSİ TUTARLAR IKrediService ihtiyacKrediService = new IhtiyacKrediManager(); IKrediService tasitKediService = new TasitKediManager(); IKrediService konutKrediService = new KonutKrediManager(); ILoggerService databaseLoggerService = new DatabseLoggerService(); ILoggerService FileLoggerService = new FileLoggerService(); BasvuruManager basvuruService = new BasvuruManager(); basvuruService.BasvuruYap(ihtiyacKrediService, FileLoggerService); List <IKrediService> krediler = new List <IKrediService>() { ihtiyacKrediService, tasitKediService }; //basvuruService.KrediOnBilgilendirme(krediler); }
static void Main(string[] args) { IKrediBaseManager ihtiyacKrediManager = new IhtiyacKrediManager(); TasitKrediManager tasitKrediManager = new TasitKrediManager(); KonutKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(konutKrediManager, fileLoggerService); //BasvuruManager basvuruManager = new BasvuruManager(); //basvuruManager.BasvuruYap(konutKrediManager,new FileLoggerService()); //basvuruManager.BasvuruYap(konutKrediManager,new DatabaseLoggerService()); // ILoggerService databaseLoggerService = new DatabaseLoggerService(); //List<IKrediBaseManager> krediler = new List<IKrediBaseManager> { ihtiyacKrediManager }; List <IKrediBaseManager> krediler = new List <IKrediBaseManager> { ihtiyacKrediManager, tasitKrediManager }; // basvuruManager.KrediOnBilgilendimesiYap(krediler); Console.ReadKey(); }
static void Main(string[] args) { IKrediManager ıhtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLogerService = new FileLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(konutKrediManager, new List <ILoggerService> { new DatabaseLoggerService(), new FileLoggerService() }); List <IKrediManager> krediler = new List <IKrediManager> { ıhtiyacKrediManager, konutKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new İhtiyacKrediManager();//İhtiyacKrediManager yazsanda bu şekilde olsada çalışır. Interfaceler de interfaceyi implemente eden classın referans numarasını tutar. IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); // basvuruManager.BasvuruYap(ihtiyacKrediManager, new DatabaseLoggerService()); //ihtiyaç kredisine başvurulduğunu düşünelim. basvuruManager.BasvuruYap(new EsnafKrediManager(), new List <ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService() }); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmeYap(krediler); }
static void Main(string[] args) { //KonutKrediManager konutKrediManager = new KonutKrediManager(); //konutKrediManager.Hesapla(); IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILogerService databaseLogerService = new DatabaseLogerService(); ILogerService fileLogerService = new FileLogerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(ihtiyacKrediManager, databaseLogerService); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { //İnterfacelerde kendisine bağlı olan class'ların referans numarasını tutabilme özelliğine sahiptir. IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(new EsnafKredisiManager(), loggers); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); //ihtiyacKrediManager.Hesapla(); //TasitKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); //KonutKrediManager konutKrediManager = new KonutKrediManager(); //konutKrediManager.Hesapla(); //---Boyle yapsakda olur basinda IKrediManager cunku interface oldugu icin referansini tutabiliyor--- //IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); //ihtiyacKrediManager.Hesapla(); //IKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); //IKrediManager konutKrediManager = new KonutKrediManager(); //konutKrediManager.Hesapla(); IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); BasvuruManager basvuruManager = new BasvuruManager(); //basvuruManager.BasvuruYap(ihtiyacKrediManager); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager }; basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); //interface ler de referans numarası tutuyor //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(konutKrediManager, databaseLoggerService); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(ihtiyacKrediManager); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; basvuruManager.KrediOnBilgilendirmesiYap(krediler); Console.ReadLine(); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); // bu satırın başına başlangıçta IhtiyacKrediManager yazmıştık //ihtiyacKrediManager.Hesapla(); // interfaceler de o interface i implemente eden classın referans numarasını tutabilir IKrediManager konutKrediManager = new KonutKrediManager(); //konutKrediManager.Hesapla(); IKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); //IKrediManager esnafKrediManager = new EsnafKredisiManager(); bu satırı yazmak yerine aşağıda new ledik. ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); //ILoggerService smsLoggerService = new SmsLoggerService(); bu satırı yazmak yerine aşağıda new ledik. List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; BasvuruManager basvuruManager = new BasvuruManager(); //basvuruManager.BasvuruYap(new EsnafKredisiManager(), new List<ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService()} ); //yukarıda bi esnaf kredisi intance ı da oluşturulabilir. onun yerine burda new dedik basvuruManager.BasvuruYap(new EsnafKredisiManager(), loggers); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new İhtiyacKrediManager(); //ihtiyacKrediManager.Hesapla(); IKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); IKrediManager konutKrediManager = new KonutKrediManager(); //konutKrediManager.Hesapla(); IKrediManager esnafKredisi = new EsnafKredisi(); ILoggerService databaseLoggerService = new DateBaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService smsLogger = new smsLogger(); List <ILoggerService> loggers = new List <ILoggerService> { new smsLogger(), new FileLoggerService() }; BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(ihtiyacKrediManager, new List <ILoggerService> { new DateBaseLoggerService(), new smsLogger() }); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { // IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); //ihtiyacKrediManager.Hesapla(); aşağıdaki ile de aynı sonuç olur. IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); // ***İnterface lerde, o interface i implemente eden classın //ihtiyacKrediManager.Hesapla(); // referans numarasını tutabiliyormuş. IKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); IKrediManager konutKrediManager = new KonutKrediManager(); // konutKrediManager.Hesapla(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLogerService = new FileLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); // basvuruManager.BasvuruYap(konutKrediManager, databaseLoggerService); // konutKrediManager, new DatabaseLoggerService() böyle de yollanabilirdi. // basvuruManager.BasvuruYap(new EsnafKredisiManager(), new SmsLoggerService()); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; basvuruManager.BasvuruYap(new EsnafKredisiManager(), loggers); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //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 fileLogerService = new FileLoggerService(); //interfaceler öteki classların da referans nosunu tutabiliyor. BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(ihtiyacKrediManager, new DatabaseLoggerService()); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager, konutKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new İhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); IloggerService databaseLoggerService = new DatabaseLoggerService(); IloggerService fileLoggerService = new FileLoggerService(); List <IloggerService> loggers = new List <IloggerService> { new SmsLoggerService(), new FileLoggerService() }; BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(new EsnafKredisiManager(), loggers); //yukarıdaki gibi newleyi buraya nesneyi yazabilirsin// plymorfism List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; // listeden istediğini çoklu olarak hesaplatabilirsin tek tek değilde // 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(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(new EsnafKredisiManager(), loggers); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnbilgilendirmesiYap(krediler); }
//interfaceler de implemente ettiği classların refrans numarasını tutabilir. static void Main(string[] args) { IKrediManager ıhtiyacKredi = new IhtiyacKrediManager(); IKrediManager tasitKredi = new TasitKrediManager(); IKrediManager konutKredi = new KonutKrediManager(); ILoggerService fileLogerService = new FileLoggerService(); ILoggerService dataLogerService = new DatabaseLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); // basvuruManager.BasvuruYap(ıhtiyacKredi, dataLogerService);// altdaji kodla aynı işlevi görür. // basvuruManager.BasvuruYap(ıhtiyacKredi, new DatabaseLoggerService()); //Alternatif--1-- List <ILoggerService> loggerServices = new List <ILoggerService>() { fileLogerService, dataLogerService }; basvuruManager.BasvuruYap(konutKredi, loggerServices); //Alternatif--2-- basvuruManager.BasvuruYap(tasitKredi, new List <ILoggerService>() { new FileLoggerService(), dataLogerService }); //------------------------------------------------------------------------------------------ List <IKrediManager> krediler = new List <IKrediManager>() { ıhtiyacKredi, tasitKredi, konutKredi }; // basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { /* * Kodlar Kötüden iyiye doğru gidiyor. Her numara bir çözüm yöntemini temsil eder ve her yöntem bir öncekinden iyidir. * * */ // 1.Yol /* * TasıtKrediManager tasitKrediManager = new TasıtKrediManager(); * tasitKrediManager.Hesapla(); * * KonutKrediManager konutKrediManager = new KonutKrediManager(); * konutKrediManager.Hesapla(); * * IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); * ihtiyacKrediManager.Hesapla(); */ //2.Yol /* * IKrediManager tasitKrediManager = new TasıtKrediManager(); * tasitKrediManager.Hesapla(); * * IKrediManager konutKrediManager = new KonutKrediManager(); * konutKrediManager.Hesapla(); * * IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); * ihtiyacKrediManager.Hesapla(); */ //3. Yol /* * IKrediManager tasitKrediManager = new TasıtKrediManager(); * IKrediManager konutKrediManager = new KonutKrediManager(); * IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); * * * BasvuruManager basvuruManager = new BasvuruManager(); * basvuruManager.BasvuruYap(konutKrediManager); * basvuruManager.BasvuruYap(tasitKrediManager); * basvuruManager.BasvuruYap(ihtiyacKrediManager); */ //4.Yol IKrediManager tasitKrediManager = new TasıtKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); ILoggerService databaseLogger = new DatabaseLoggerService(); ILoggerService fileLogger = new FileLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(konutKrediManager, fileLogger); //List<IKrediManager> krediler = new List<IKrediManager>() { ihtiyacKrediManager, konutKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { //Interfaceleri işlicez......!!!!!!!!!!!! //Diyelimki bir bankada krediler var ve biz bu kredilerle geri dönüş tutarları belirleyip eğer bu krediyi kullanırsan 2-3-5 yılın sonunda bu kadar para ödersin (işte çiftçi kredisi kullanırsan bu kadar, esnaf kullanırsan bu kadar vs vs) //KrediManager sınıfı açıp operasyonları yazalım.. //şimdi birden fazla kredi çeşidi vardı.. her kredi çeşiti için sınıf açarız ama oop2de de olduğu gibi bu kredi çeşitleri aynı zamanda bir kredidir.. //Bu sebeple KonutKrediManager adında açtığımız sınıfın ismine gidi ":KrediManager" ı da yazacağız.. Bunu diğer kredi çeşitlerine de yapacağız... //hangi çeşit olursa olsun her kredi çeşiti bir kredidir.. oop2de ki gerçek ve tüzel müşterilerin müşteri olması gibi buradaki kredilerin ortak paydası KrediManager dır.. //Bu yaptığımız işlem zaten Miraslama işlemidir.. //bütün krediler KrediManagerdaki hespla işini farklı şekillerde ele alır her birinin belli bir faiz oranı vardır ve hepsinin kendine öz dosya masrafları vardır.. //Kısacası hepside hesapla işini farklı şekilde ele alır.. yani: //KrediManager Class halindeyken tek başına benim için bir anlam ifade etmiyor.. //İşte bu tip alternatif yani imzanın aynı olduğu (void hesapla()) ama içerisinin farklı olduğu durumlarda biz Class KrediManager daki classı, class olarak değilde interface olarak oluştururuz.. //Oluşturdum.. ve şu şekildeyken; //class KrediManager //{ // public void Hesapla() // { // } //} //o şekle getirdim.. //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); //Baştaki IhtiyacKrediManager yerine IKrediManager'da yazabilirdik.. //ihtiyacKrediManager.Hesapla(); //TasitKrediManager tasitKrediManager = new TasitKrediManager(); //Baştaki TasitKrediManager yerine IKrediManager'da yazabilirdik.. //tasitKrediManager.Hesapla(); //KonutKrediManager konutKrediManager = new KonutKrediManager(); //Baştaki KonutKrediManager yerine IKrediManager'da yazabilirdik.. //konutKrediManager.Hesapla(); //Bu demek oluyor ki interface lerde o interface i implemente eden classın referans numarasını tutabiliyor.. aşağıdakini yazabilmek için yukarıyı commentledim.. //şubedeki arkadaşımızın ekranında bulunan 3 kredi aşağıdaki olsun.. IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FilebaseLoggerService(); //şimdi başvuru yapıyorum.. BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(konutKrediManager, databaseLoggerService); //buraya hangi kredi türünü yazarsam onun ödeme planı hesaplanır.. //başvuru yapa loglama işlemini koyduğumuz için mecburen buraya da onu koyduk.. Console.WriteLine("Basvuru yap kısmı bitti, çıktıda ayırt edebilmek için bunu yazdım.."); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //her listte eğer yapılmamışsa ampüle tıkla "using System.Collections.Generic:" e tıkla basvuruManager.KrediOnBilgilendirmesiYap(krediler); //bu yaptığımız hareket aslında bir öncekinin aynısı sadece burada liste yolladım ve onları tek tek hesapladım.. (listeye neleri yazmışsam) //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Diyelimki projemizde loglama yapmak istiyoruz.. loglama nedir? -kim, ne zaman, hangi operasyonu çağırdığıdır yani bir nevi o sistemde olan hareketleri döktüğümüz bir dökümdür.. //loglamayı farklı yöntemlerle uygulayabiliriz; //logları bir dosyada tutabiliriz, veri tabanında tutabiliriz, sms olarak atabiliriz (krediye başvuru olduğunda ona sms gönderilmesi gibi), mail olarak atabiliriz.. //bu yöntemlerin hepsinin imzası aynı ama dosyaya yazarken dosyaya yazma kodları, veri tabanına yazarken veri tabanına yazma kodları vs yazılır.. ama hepsinde yapılan işlem loglamadır.. //peki en başta buna nasıl karar vericem? //alternatif sistemler varsa (veri tabanına yazma, dosyaya yazma, sms yollama, mail yollama..vs) //bazen mesela tek sistem vardır, veri tabanına yazma gibi.. iç müşteri (bankadaki ilgili birimler) tarafından başka bişey istenmez.. böyle durumlarda bile biz ona interface ekleriz.. //Add-class-interface i seç- ad: ILoggerService (bundan sonra interfacelere servis dicez) }