static void Main(string[] args) { ICreditManager consumerLoanManager = new ConsumerLoanManager(); ICreditManager vehicleLoanManager = new VehicleLoanManager(); ICreditManager mortgageLoanManager = new MortgageLoanManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); //burada instance oluşturmak yerine örneğin 19.satırda parantez içine new FileLoggerService() yazabilirdik ICreditManager craftLoanManager = new CraftLoanManager(); ApplicationManager applicationManager = new ApplicationManager(); applicationManager.Apply(craftLoanManager, new List <ILoggerService> { new DatabaseLoggerService(), new FileLoggerService() }); //parantez içinde öncelikle kredi türleri için hangi metottan istem yaptıysak onu yazdırdı //burada birden fazla logger çalıştırdığımız için, aynı kredilerde olduğu gibi foreach kullanıp logger listesinde döndük. List <ICreditManager> credits = new List <ICreditManager>() { consumerLoanManager, vehicleLoanManager }; //applicationManager.DoCreditPreinformation(credits); }
static void Main(string[] args) { ILoanManager consumerLoanManager = new ConsumerLoanManager(); ILoanManager autoLoanManager = new AutoLoanManager(); ILoanManager mortgageLoanManager = new MortgageLoanManager(); ILoanManager tradesmanLoanManager = new TradesmanLoanManager(); //ILoggerService databaseLoggerService = new DatabaseLoggerService(); //ILoggerService fileLoggerService = new FileLoggerService(); //ILoggerService smsLoggerService = new SmsLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new DatabaseLoggerService(), new FileLoggerService() }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.MakeApplication(tradesmanLoanManager, loggers); List <ILoanManager> loans = new List <ILoanManager>() { consumerLoanManager, autoLoanManager }; //applicationManager.MakeCreditPreNotification(loans); }
static void Main(string[] args) { ILoanManager consumerLoanManager = new ConsumerLoanManager(); ILoanManager vehicleLoanManager = new VehicleLoanManager(); ILoanManager mortgageLoanManager = new MortgageLoanManager(); ILoanManager artisanLoanManager = new ArtisanLoanManager(); LoanApplicationManager loanApplicationManager = new LoanApplicationManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); //loanApplicationManager.Apply(vehicleLoanManager); //loanApplicationManager.Apply(mortgageLoanManager); loanApplicationManager.Apply(consumerLoanManager, new List <ILoggerService> { databaseLoggerService, smsLoggerService }); loanApplicationManager.Apply(artisanLoanManager, new List <ILoggerService> { new DatabaseLoggerService(), new FileLoggerService() }); loanApplicationManager.Apply(vehicleLoanManager, smsLoggerService); List <ILoanManager> loans = new List <ILoanManager>() { consumerLoanManager, vehicleLoanManager, mortgageLoanManager }; //loanApplicationManager.GiveCreditPreInformation(loans); }
static void Main(string[] args) { //ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager(); //consumerLoanManager.Calculate(); //VehicleLoanManager vehicleLoanManager = new VehicleLoanManager(); //vehicleLoanManager.Calculate(); //MortgageLoanManager mortgageLoanManager = new MortgageLoanManager(); //mortgageLoanManager.Calculate(); //Interfaceler diger classlardaki inherite olabilir. Cunku tum kredi hesaplama yontemlerinde miras almistir. //ILoanBaseManager consumerLoanManager1 = new ConsumerLoanManager(); //consumerLoanManager1.Calculate(); //ILoanBaseManager vehicleLoanManager1 = new VehicleLoanManager(); //vehicleLoanManager1.Calculate(); //ILoanBaseManager mortgageLoanManager1 = new MortgageLoanManager(); //mortgageLoanManager1.Calculate(); ILoanBaseManager consumerLoanManager2 = new ConsumerLoanManager(); ILoanBaseManager vehicleLoanManager2 = new VehicleLoanManager(); ILoanBaseManager mortgageLoanManager2 = new MortgageLoanManager(); ILoanBaseManager tradesmanLoanManager2 = new TradesmanLoanManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); List <ILoggerService> services = new List <ILoggerService>() { databaseLoggerService, smsLoggerService }; CreditApplicationManager creditApplicationManager = new CreditApplicationManager(); //creditApplicationManager.CreditApplication(consumerLoanManager2, databaseLoggerService); creditApplicationManager.CreditApplication(tradesmanLoanManager2, services); List <ILoanBaseManager> loans = new List <ILoanBaseManager>() { consumerLoanManager2, vehicleLoanManager2, mortgageLoanManager2 }; //creditApplicationManager.ProvideCreditPreNotification(loans); //Interfaceleri birbirinin alternatifi olan ama kod icerikleri birbirinden farkli olan durumlar icin kullaniriz. //Bu yaptigimiz ornekte tum krediler hesaplama ortak bir nokta vardir. Ancak kodlari farkli kurallari vardir. //Kredinin turlerine hesaplama turleri degiskenlik gosterir. }
static void Main(string[] args) { ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager(); consumerLoanManager.Calculate(); VehicleLoanManager vehicleLoanManager = new VehicleLoanManager(); vehicleLoanManager.Calculate(); MortgageManager mortgageManager = new MortgageManager(); mortgageManager.Calculate(); ICreditManager consumerLoanManager2 = new ConsumerLoanManager(); consumerLoanManager.Calculate(); ICreditManager vehicleLoanManager2 = new VehicleLoanManager(); vehicleLoanManager.Calculate(); ICreditManager mortgageManager2 = new MortgageManager(); mortgageManager.Calculate(); // Interface olarak oluşturmak da aynı işlevi görür, interface onu inheritance eden classları tutabilir ILoggerService databaseLoggerManager = new DatabaseLoggerManager(); ILoggerService fileLoggerManager = new FileLoggerManager(); ApplicationManager applicationManager = new ApplicationManager(); applicationManager.Apply(consumerLoanManager, new List <ILoggerService> { new DatabaseLoggerManager(), new FileLoggerManager() });; applicationManager.Apply(vehicleLoanManager, new List <ILoggerService>()); applicationManager.Apply(mortgageManager, new List <ILoggerService>()); applicationManager.Apply(consumerLoanManager2, new List <ILoggerService>()); applicationManager.Apply(vehicleLoanManager2, new List <ILoggerService>()); applicationManager.Apply(mortgageManager2, new List <ILoggerService>()); Console.WriteLine("\n\n\n\n -------------------------------- \n\n\n\n"); List <ICreditManager> credits = new List <ICreditManager>() { }; credits.Add(consumerLoanManager2); credits.Add(vehicleLoanManager2); applicationManager.InformAboutCredit(credits); }
static void Main(string[] args) { //ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager(); //consumerLoanManager.Calculate(); //VehicleLoanManager vehicleLoanManager = new VehicleLoanManager(); //vehicleLoanManager.Calculate(); //MortgageLoanManager mortgageLoanManager = new MortgageLoanManager(); //mortgageLoanManager.Calculate(); //Yukarıdaki ve aşağıdaki ifadeler birebir aynı şeyi ifade ediyor //ILoanManager consumerLoanManager = new ConsumerLoanManager(); //consumerLoanManager.Calculate(); //ILoanManager vehicleLoanManager = new VehicleLoanManager(); //vehicleLoanManager.Calculate(); //ILoanManager mortgageLoanManager = new MortgageLoanManager(); //mortgageLoanManager.Calculate(); ILoanManager consumerLoanManager = new ConsumerLoanManager(); ILoanManager vehicleLoanManager = new VehicleLoanManager(); ILoanManager mortgageLoanManager = new MortgageLoanManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; AppealManager appealManager = new AppealManager(); appealManager.MakeAnApplication(new TradesmanLoanManager(), loggers); List <ILoanManager> loans = new List <ILoanManager>() { consumerLoanManager, vehicleLoanManager, mortgageLoanManager }; //appealManager.MakeLoanPrenotification(loans); }
static void Main(string[] args) { ICreditManager consumerLoanManager = new ConsumerLoanManager(); ICreditManager vehicleLoanManager = new VehicleLoanManager(); ICreditManager mortgageManager = new MortgageManager(); ApplyManager applyManager = new ApplyManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new DatabaseLoggerService(), new FileLoggerService() }; applyManager.Apply(consumerLoanManager, loggers); List <ICreditManager> credits = new List <ICreditManager>() { mortgageManager, vehicleLoanManager }; //applyManager.DoCreditPreİnfo(credits); }
//birden fazla class açmamıza polimorfiziim denir //daha koılay olması için birden fazla class açtık static void Main(string[] args) { //ikiside aynı //ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager(); //İnterface onu implemente eden classın referansını tutabilir //Bu bilgi biz işe sokacak bilgidir o yüzden bu çok önemli ILoanManager consumerLoanManager = new ConsumerLoanManager(); ILoanManager carLoanManager = new CarLoanManager(); ILoanManager houseLoanManager = new HouseLoanManager(); ApplyManager applyManager = new ApplyManager(); applyManager.Apply(carLoanManager, new FileLoggerService()); List <ILoanManager> loans = new List <ILoanManager>() { consumerLoanManager, carLoanManager }; //applyManager.LoanPreInformation(loans); //şuan bankadaki görevli kredi bilgilendirmesi için kredileri yolladı }
static void Main(string[] args) { ICreditManager ConsumerLoanManager = new ConsumerLoanManager(); ICreditManager VehicleLoanManager = new VehicleLoanManager(); ICreditManager MortageLoanManager = new MortageLoanManager(); ICreditManager ArtisanLoanManager = new ArtisanLoanManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.Apply(ArtisanLoanManager, loggers); List <ICreditManager> credits = new List <ICreditManager>() { ConsumerLoanManager, VehicleLoanManager }; //applicationManager.CreditPreNotification(credits); }