static void Main(string[] args) { ICreditManager personelFinanceCreditManager = new PersonelFinanceCreditManager(); //personelFinanceCreditManager.Calculate(); ICreditManager transportCreditManager = new TransportCreditManager(); //transportCreditManager.Calculate(); ICreditManager mortgageCreditManager = new MortgageCreditManager(); //mortgageCreditManager.Calculate(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ApplicationManager applicationManager = new ApplicationManager(); applicationManager.Apply(new ArtisanCreditManager(), new List <ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService() }); List <ICreditManager> credits = new List <ICreditManager>(); credits.Add(personelFinanceCreditManager); credits.Add(transportCreditManager); //applicationManager.MakeCreditPreInform(credits); }
static void Main(string[] args) { /* * PersonelFinanceCreditManager personelFinanceCreditManager = new PersonelFinanceCreditManager(); * personelFinanceCreditManager.Calculate(); * * TransportCreditManager transportCreditManager = new TransportCreditManager(); * transportCreditManager.Calculate(); * * MortgageCreditManager mortgageCreditManager = new MortgageCreditManager(); * mortgageCreditManager.Calculate(); */ //Görüldüğü üzere 3 yerde ICreditManager'ı implemente ettiği için ICreditManager'dan hepsini türetebilirim. ICreditManager personelFinanceCreditManager = new PersonelFinanceCreditManager(); ICreditManager transportCreditManager = new TransportCreditManager(); ICreditManager mortgageCreditManager = new MortgageCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); ApplicationManager applicationManager = new ApplicationManager(); //aşağıdaki şekilde de yazabilirim alternatifi(Not:List yaptım ondan hata verir) //applicationManager.MakeAnApplication(mortgageCreditManager, databaseLoggerService); //<applicationManager.MakeAnApplication(mortgageCreditManager, new DatabaseLoggerService()); //List<ILoggerService> loggerServices = new List<ILoggerService>() { databaseLoggerService, fileLoggerService }; //applicationManager.MakeAnApplication(transportCreditManager, loggerServices); //Hemen üstündeki 2 satırın alternatifidir. Tek satır yazılmak istenince applicationManager.MakeAnApplication(transportCreditManager, new List <ILoggerService>() { databaseLoggerService, fileLoggerService, smsLoggerService }); List <ICreditManager> credits = new List <ICreditManager>() { personelFinanceCreditManager, transportCreditManager }; //applicationManager.MakeCreditPreNotification(credits); }
// Interface ; olusturulurken basına "I" harfi eklenerek yazılır. // interfaceleri birbirinin alternatifi olan ama kod içerikleri farklı olan durumlar için kullanırız. // yaptığımız örnekte bütün kredi türlerinde hesaplama yapılıyor fakat kredinin türüne göre değişkenlik göstereceğinden // farklı türlerde kodlar yazılır. static void Main(string[] args) { ICreditManager personelFinanceCreditManager = new PersonelFinanceCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager mortgageCreditManager = new MortgageCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ApplyManager applyManager = new ApplyManager(); applyManager.Apply(vehicleCreditManager, fileLoggerService); List <ICreditManager> credits = new List <ICreditManager>() { personelFinanceCreditManager, vehicleCreditManager }; //applyManager.CreditPreInformation(credits); }
static void Main(string[] args) { //PersonelFinanceCreditManager personelFinanceCreditManager = new PersonelFinanceCreditManager(); //personelFinanceCreditManager.Calculate(); //CarCreditManager carCreditManager = new CarCreditManager(); //carCreditManager.Calculate(); //HouseCreditManager houseCreditManager = new HouseCreditManager(); //houseCreditManager.Calculate(); //Console.WriteLine("------------------interface ile-----"); ////Interface alınan sınıf, alan sınıfın referansını tutabilir. ICreditManager personelFinanceCreditManager1 = new PersonelFinanceCreditManager(); //personelFinanceCreditManager1.Calculate(); ICreditManager carCreditManager1 = new CarCreditManager(); //carCreditManager1.Calculate(); ICreditManager houseCreditManager1 = new HouseCreditManager(); //houseCreditManager1.Calculate(); //Console.WriteLine("----interface referans gönderimiyle-----"); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ApplicationManager applicationManager = new ApplicationManager(); applicationManager.DoApplication(personelFinanceCreditManager1, fileLoggerService); //applicationManager.DoApplication(carCreditManager1); //applicationManager.DoApplication(houseCreditManager1); List <ICreditManager> credits = new List <ICreditManager>() { personelFinanceCreditManager1, carCreditManager1, houseCreditManager1 }; //applicationManager.CreditPreView(credits); }
static void Main(string[] args) { ICreditManager personelFinanceCreditManager = new PersonelFinanceCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLogggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; ApplicationManager applitacionManager = new ApplicationManager(); applitacionManager.MakeAnApplication(new TradesmanCreditManager(), loggers); List <ICreditManager> credits = new List <ICreditManager>() { personelFinanceCreditManager, vehicleCreditManager }; //applitacionManager.MakeCreditPrenotification(credits); }
static void Main(string[] args) { ICreditManager personelFinanceCreditManager = new PersonelFinanceCreditManager(); ICreditManager transportCreditManager = new TransportCreditManager(); ICreditManager mortgageCreditManager = new MortgageCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ConsultManager consultManager = new ConsultManager(); consultManager.ToApply(personelFinanceCreditManager, new List <ILoggerService> { new DatabaseLoggerService(), new FileLoggerService() }); List <ICreditManager> credits = new List <ICreditManager>() { personelFinanceCreditManager, transportCreditManager }; // consultManager.CreditPrenotification(credits); }