static void Main(string[] args) { /* Polymorphism * Hangi Krediyi Çekmek istersiniz derken senin özelliklerini soruyor ve ihtiyaç da olur taşıt da olur diyor * ihtiyaç kredisi ne kadar öderim taşıt çekersem ne kadar öderim bankadaki personele sorulur ekrandan hesaplanır * * */ ICreditBaseManager konutKredisi = new HouseCreditManager(); //Interfaceler referans numarasını tutabilir. ICreditBaseManager ihtiyacKredisi = new PersonelCreditManager(); ICreditBaseManager esnafKredisi = new ArtisanCreditManagar(); ILogger veritabani = new DatabaseLoggerService(); ILogger fileLogger = new FileLoggerService(); ILogger smsLogger = new SMSLogger(); ApplicationManager basvuruFormu = new ApplicationManager(); basvuruFormu.DoApplication(esnafKredisi, new List <ILogger> { veritabani, smsLogger }); // Hangi Krediyi Gönderirsem Onu Çalıştırır && Hangi Log Gönderirsem Onu Çalıştırır List <ICreditBaseManager> krediler = new List <ICreditBaseManager>() { konutKredisi, ihtiyacKredisi }; //basvuruFormu.CreditFrontInfo(krediler); // Kredi Ön Bilgilendirmesi }
static void Main(string[] args) { /* * burada ilk önce her kredinin ayrı ayrı hesapla methodunu çağırdık * sonra basvuru yap diye bir manager açtık onun içine ortak olan interface ten * türeyen nesne isteyerek hepsi kendi hesaplamarına gitmeyi sağladık * bu dependency injection dır */ //ICreditManager mortgageCredit = new MortgageCreditManager(); //mortgageCredit.Calculate(); //ICreditManager vehicleCredit = new VehicleCreditManager(); //vehicleCredit.Calculate(); //ICreditManager personelCredit = new PersonelCreditManager(); //personelCredit.Calculate(); ICreditManager mortgageCredit = new MortgageCreditManager(); ICreditManager vehicleCredit = new VehicleCreditManager(); ICreditManager personelCredit = new PersonelCreditManager(); ApplyManager applyManager = new ApplyManager(); //applyManager.Apply(personelCredit); /* * Burada ise listeden gelenlerin kredierini hesaplattık */ List <ICreditManager> credits = new List <ICreditManager>() { personelCredit, vehicleCredit, mortgageCredit }; applyManager.DoCreditInformation(credits); //Log kısmı ILoggerService dbloggerService = new DbLoggerService(); ILoggerService fileloggerService = new FileLoggerService(); List <ILoggerService> loggerServices = new List <ILoggerService>() { dbloggerService, fileloggerService }; //applyManager.Apply(personelCredit, loggerServices); }
static void Main(string[] args) { PersonelCreditManager personelCreditManager = new PersonelCreditManager(); TransportCreditManager transportCreditManager = new TransportCreditManager(); HouseCreditManager houseCreditManager = new HouseCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; ApplicantManager applicantManager = new ApplicantManager(); applicantManager.MakeApplication(houseCreditManager, loggers); List <ICreditManager> credits = new List <ICreditManager>() { personelCreditManager, transportCreditManager, houseCreditManager }; //applicantManager.CreditInformation(credits); }