static void Main(string[] args) { ICreditManager consumerCreditManager = new ConsumerCreditManager(); //ConsumerCreditManager consumerCreditManager = new ConsumerCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileloggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.MakeApplication(new ArtisanCreditManager(), loggers); List <ICreditManager> credits = new List <ICreditManager>() { consumerCreditManager, vehicleCreditManager }; //applicationManager.MakeCreditPreNotification(credits); }
static void Main(string[] args) { ICreditManager personalFinanceCredit = new PersonalFinanceCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService>() { databaseLoggerService, fileLoggerService, new SmsLoggerService() }; ReferenceManager referenceManager = new ReferenceManager(); referenceManager.MakeReference(new ArtisanCreditManager(), loggers); List <ICreditManager> credits = new List <ICreditManager>() { vehicleCreditManager, personalFinanceCredit }; //referenceManager.CreditPreInfo(credits); }
static void Main(string[] args) { ICreditManager needCreditManager = new NeedCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); List <ILoggerService> logger = new List <ILoggerService>() { databaseLoggerService, smsLoggerService }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.MakeAnApplication(vehicleCreditManager, logger); List <ICreditManager> credits = new List <ICreditManager>() { needCreditManager, vehicleCreditManager }; //applicationManager.GiveCreditInformation(credits); }
static void Main(string[] args) { if (args is null) { throw new ArgumentNullException(nameof(args)); } ICreditManager needCreditManager = new NeedCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggerServices = new List <ILoggerService> { databaseLoggerService, fileLoggerService }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.MakeAnApplication(needCreditManager, loggerServices); applicationManager.MakeAnApplication(vehicleCreditManager, loggerServices); applicationManager.MakeAnApplication(housingCreditManager, loggerServices); List <ICreditManager> creditManagers = new List <ICreditManager>() { vehicleCreditManager, needCreditManager, housingCreditManager }; applicationManager.MakeCreditPreNotification(creditManagers); }
static void Main(string[] args) { ICreditManager needCreditManager = new NeedCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ICreditManager artisanCreditManager = new ArtisanCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService>() { new SmsLoggerService(), new FileLoggerService() }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.ToApply(vehicleCreditManager, loggers); List <ICreditManager> credits = new List <ICreditManager>() { needCreditManager, vehicleCreditManager }; //applicationManager.MakeCreditPreNotificitaion(credits); }
//interfaceleri birbirinin alternatifi olan ama kod içerikleri farklı olan durumlar için kullanırız. İmzaları aynı. //Yapılan işlemler loglamadır. SMS yollama, veritabanına yazma gibi şeyler loglama. static void Main(string[] args) { ICreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ICreditManager esnafKrediManager = new EsnafKrediManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); RecourseManager recourseManager = new RecourseManager(); recourseManager.BasvuruYap(esnafKrediManager, new List <ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService() }); //line 22'de parantez içinde new list oluşturmak yerine aşağıdaki alternatifi de kullanabilirsin: //List<ILoggerService> logger = new List<ILoggerService>() {new SmsLoggerService(), new DatabaseLoggerService() }; //yukarıdaki kodu yazdıktan sonra line 22'deki kod aşağıdaki gibi olacak: //recourseManager.BasvuruYap(esnafKrediManager, loggers); List <ICreditManager> krediler = new List <ICreditManager>() { personalFinanceCreditManager, vehicleCreditManager }; //recourseManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { ICreditManager needCreditManager = new NeedCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ICreditManager tradesmanCreditManager = new TradesmanCreditManager(); ILoggerService fileLoggerService = new FileLoggerService(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { fileLoggerService, databaseLoggerService, smsLoggerService }; RecourseManager recourseManager = new RecourseManager(); recourseManager.DoRecourse(tradesmanCreditManager, loggers); List <ICreditManager> credits = new List <ICreditManager>() { needCreditManager, vehicleCreditManager }; //recourseManager.CreditGivePreliminaryInformation(credits); }
static void Main(string[] args) { ICreditManager requirementCreditManager = new RequirementCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); //IloggerService databaseLoggerService = new DataBaseLoggerService(); //IloggerService fileLoggerService = new FileLoggerService(); List <IloggerService> loggers = new List <IloggerService>() { new FileLoggerService(), new DataBaseLoggerService() }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.Apply(vehicleCreditManager, new List <IloggerService>() { new DataBaseLoggerService(), new FileLoggerService() }); applicationManager.Apply(housingCreditManager, loggers); List <ICreditManager> credits = new List <ICreditManager>() { requirementCreditManager, housingCreditManager }; //applicationManager.MakeEnlightenment(credits); }
static void Main(string[] args) { //PersonalFinanceCreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager(); //personalFinanceCreditManager.Calculate(); //VehicleCreditManager vehicleCreditManager = new VehicleCreditManager(); //vehicleCreditManager.Calculate(); //HousingCreditManager housingCreditManager = new HousingCreditManager(); //housingCreditManager.Calculate(); //Reference type ICreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); //List<ILoggerService> loggers = new List<ILoggerService> { new SmsLoggerService(), new FileLoggerService() }; List <ILoggerService> loggers = new List <ILoggerService> { databaseLoggerService, fileLoggerService }; ReferenceManager referenceManager = new ReferenceManager(); //alternatif kullanım //referenceManager.Apply(vehicleCreditManager, new DatabaseLoggerService()); referenceManager.Apply(housingCreditManager, loggers); Console.WriteLine("*******************"); referenceManager.Apply(new TradesCreditManager(), new List <ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService() }); Console.WriteLine("*******************"); referenceManager.Apply(new VehicleCreditManager(), loggers); Console.WriteLine("\nÖn Bilgilendirme.\n"); List <ICreditManager> credits = new List <ICreditManager>() { personalFinanceCreditManager, vehicleCreditManager, housingCreditManager }; referenceManager.KrediOnBilgilendirmesiYap(credits); Console.ReadKey(); }
static void Main(string[] args) { ICreditManager needCreditManager = new NeedCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ApplicationManager applicationManager = new ApplicationManager(); applicationManager.Application(needCreditManager, new DatabaseLoggerService()); List<ICreditManager> credits = new List<ICreditManager>() {needCreditManager, vehicleCreditManager, housingCreditManager }; //applicationManager.CreditPreliminaryInformation(credits); }
static void Main(string[] args) { NeedingCreditManager needingCreditManager = new NeedingCreditManager(); VehicleCreditManager vehicleCreditManager = new VehicleCreditManager(); HousingCreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseloggerService = new DatabaseLoggerService(); ILoggerService fileloggerService = new FileLoggerService(); DemandManager demandManager = new DemandManager(); demandManager.Demand(needingCreditManager, fileloggerService); List <ICreditManager> krediler = new List <ICreditManager>() { }; }
static void Main(string[] args) { ICreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager();//Interfaceler de base class gibi kendini implemente eden //(uygulayan) class in referans no sunu tutabilirler. //Burada PersonalFinanceCreditManager yerine //ICreditManager yazdıgımızda kod aynı sekilde hatasız calısır. Bunun sebebi ICreditManager in PersonalFinanceCreditManager in referans no sunu //tutabilmesinden dolayıdır. ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); //Ustteki 3 new leme komutunu kullanıcı ekranındaki kredi secme sayfası olarak dusunuyoruz. ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new DatabaseLoggerService(), new FileLoggerService() }; ApplicationManager applicationManager = new ApplicationManager(); applicationManager.MakeAnApplication(vehicleCreditManager, loggers); //Ustteki sekilde yeni bir satirda newlemek yerine asagidaki gibi methodu kullanırken icine de newleyebilirdik. //applicationManager.MakeAnApplication(vehicleCreditManager, new List<ILoggerService> {new DatabaseLoggerService(), new FileLoggerService() }); //applicationManager.MakeAnApplication(personalFinanceCreditManager,new DatabaseLoggerService()); //Burada "ApplicationManager applicationManager = new ApplicationManager();" yazmak yerine bir ustteki satırda yazılmıs oldugu gibi method //kullanırken de new leme yapabiliriz( new DatabaseLoggerService() ). //Burada parantez icini yazmadan once altı kırmızı olan "MakeAnApplication" e gelinip ardından solda ve //ya "MakeAnApplication" ın altında cıkacak olan cıkacak olan altında kırmızı carpi bulunan sarı ampul simgesine gelindiginde parantez icine //ICredit Manager degisken tipinde bir degisken girmemiz gerektigini belirttigini goruruz fakat burada new lenemeyeceginden oturu ICreditManager //tipinde bir degisken kullanamayız. Bunun yerine ICreditManager i inherit alan yani ICredit Manager in referans no sunu tutabildigi //"PersonalFinanceCreditManager", "VehicleCreditManager veya "HousingCreditManager" class ina ait bir degisken kullanırız. Aslinda bunu bu sekil //de yapabildigimizi"applicationManager.MakeAnApplication(" yazdıktan sonra yazabilecegimiz secenekleri gosteren ekrandan da gorebiliriz. Burada //3 class tan hangisini kullanacagımızı gercek hayatta kullanıcı belirtecektir. //applicationManager.MakeAnApplication(personalFinanceCreditManager); satirindaki method degisken tipi olarak ICreditManager interface ini kullandı //gından oturu kendisini inherit eden 3 kredi class ini da bu method da sorunsuzca kullanabilmis olduk. List <ICreditManager> credits = new List <ICreditManager>() { personalFinanceCreditManager, vehicleCreditManager }; //applicationManager.MakeAnCreditPreliminaryInformation(credits); }
static void Main(string[] args) { ICreditManager ihtiyacKrediManager = new PersonalFinanceCreditManager(); ICreditManager tasitKrediManager = new VehicleCreditManager(); ICreditManager konutKrediManager = new HousingCreditManager(); RecourseManager recourseManager = new RecourseManager(); recourseManager.Recource(tasitKrediManager, new FileLoggerManager()); IList <ICreditManager> creditManagers = new List <ICreditManager>() { ihtiyacKrediManager, konutKrediManager }; recourseManager.MakeCreditPreNotification(creditManagers); }
static void Main(string[] args) { ICreditManager requimentCreditManager = new RequimentCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DataBaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); RequestManager requestManager = new RequestManager(); requestManager.MakeRequest(housingCreditManager, fileLoggerService); List <ICreditManager> credits = new List <ICreditManager>() { requimentCreditManager, vehicleCreditManager }; // requestManager.DoCreditPriorKnowledge(credits); }
static void Main(string[] args) { ICreditManager needCreditManager = new NeedCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); ApplyManager applyManager = new ApplyManager(); applyManager.Apply(new SellerCreditManager(), new SMSLoggerService()); List <ICreditManager> credits = new List <ICreditManager>() { needCreditManager, housingCreditManager }; //applyManager.CreditEarlyBriefing(credits); }
static void Main(string[] args) { ICreditBaseManager requirementManager = new RequirementManager(); ICreditBaseManager vehicleCreditManager = new VehicleCreditManager(); ICreditBaseManager housingCreditManager = new HousingCreditManager(); ILoggerService dataBaseLoggerService = new DatabaseLoggerService(); ILoggerService fileBaseLoggerService = new FilebaseLoggerService(); ApplyManager applyManager = new ApplyManager(); applyManager.Apply(vehicleCreditManager, fileBaseLoggerService); List <ICreditBaseManager> credits = new List <ICreditBaseManager>() { requirementManager, vehicleCreditManager }; }
static void Main(string[] args) { ICreditManager personalCreditManager = new PersonalCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); //ILoggerService databaseLoggerService = new DatabaseLoggerService(); //ILoggerService fileLoggerService = new FileLoggerService(); ApplicationManager applicationManager = new ApplicationManager(); applicationManager.MakeApplication(personalCreditManager, new List <ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService() }); List <ICreditManager> credits = new List <ICreditManager>() { personalCreditManager, housingCreditManager }; //applicationManager.GivePreliminaryInfo(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) { /* * Referans tutsun ve uygulaması zorunlu olan operasyonları tutsun diye interface oluşturduk * * Alternatif sistemler için bir şablon ve referans tutucu görevi görüyor. * * Birbirinin alternatifi olan ama kod içerikleri farklı olan durumlar için kullanırız. */ ICreditManager consumerCreditManager = new ConsumerCreditManager(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); ICreditManager housingCreditManager = new HousingCreditManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); List <ILoggerService> loggerServices = new List <ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService() }; ApplyingManager applyingManager = new ApplyingManager(); //applyingManager.Apply(housingCreditManager, new DatabaseLoggerService()); applyingManager.Apply(housingCreditManager, loggerServices); List <ICreditManager> credits = new List <ICreditManager>() { consumerCreditManager, vehicleCreditManager }; applyingManager.Inform(credits); }
static void Main(string[] args) { // Interface*** // Kredilerin instancelarını oluştuşma //PersonalFinanceCreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager(); //personalFinanceCreditManager.CalculateCredit(); //VehicleCreditManager vehicleCreditManager = new VehicleCreditManager(); //vehicleCreditManager.CalculateCredit(); //HousingCreditManager housingCreditManager = new HousingCreditManager(); //housingCreditManager.CalculateCredit(); //--------------------------------------- // Interface'lerde interface'i implement eden sınıfların referans numarasını tutabilir. // Inheritance'taki gibi. // Ekran seçimleri olarak düşün. ICreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager(); //personalFinanceCreditManager.CalculateCredit(); ICreditManager vehicleCreditManager = new VehicleCreditManager(); //vehicleCreditManager.CalculateCredit(); ICreditManager housingCreditManager = new HousingCreditManager(); //housingCreditManager.CalculateCredit(); //Başvuru yapma: CreditApplicationManager creditApplicationManager = new CreditApplicationManager(); // Bir KrediManager istiyor. //creditApplicationManager.Apply(housingCreditManager); //Hata verdi, logger eksik! // İki yol: //creditApplicationManager.Apply(housingCreditManager, new FileLoggerService()) ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); //creditApplicationManager.Apply(housingCreditManager, fileLoggerService); // Başvuru yap konut kredisine göre ve loglamayı dosyaya yapacak şekilde demektir. // Bu yazılımda sürdürülebilirliği sağlar! Console.WriteLine("------------------------------------------------"); // ICreditManager bir interface, new'lenemez, verilemez! /* ICreditManager'ı implemente eden Ev,Taşıt,İhtiyaç KrediManagerlarından * hangisi istenirse gönderebiliriz. * Gönderilen KrediManager'a göre de başvur metodunda bulunan hesaplama * operasyonu KrediManager'ın kendi hesaplama operasyonuna denk gelir. */ // housingCreditManager seçildiği için Ev Kredisi'nin Hesapla kuralı, metodu çalışır. // Some kind of Mülakat Question :)))) /* Kredi çekmek isteyen Müşteri için uygun kredileri seçip, * Parametre olarak bir Liste yollanır. Listeyi alan metot * listeyi dönerek bilgilendirme yapar. */ //Bilgilendirme için kredi seçimi/kredi listesi seçimi ve bilgilendirme yapılması: List <ICreditManager> credits = new List <ICreditManager>() { personalFinanceCreditManager, vehicleCreditManager }; creditApplicationManager.CreditPriorInfo(credits); // SOLID'in O'su: Open for extension, Close for modification. // Yeni bir özellik eklenirse mevcut kodlar bozulmaz! // Esnaf Kredisi ekleyelim. Console.WriteLine("---------------------------------"); ICreditManager tradesmanCreditManager = new TradesmanCreditManager(); creditApplicationManager.Apply(tradesmanCreditManager, new List <ILoggerService> { new DatabaseLoggerService(), new SmsLoggerService() }); //Liste yapıpta yollayabilirdik ama yukarıdaki gibide yollanabilir. Console.WriteLine("---------------------------------"); // Yeni bir Loglama yöntemi eklenilmesi istensin. // Sms Loglaması ekleyelim. //creditApplicationManager.Apply(tradesmanCreditManager, new SmsLoggerService()); ILoggerService smsLoggerService = new SmsLoggerService(); //creditApplicationManager.Apply(tradesmanCreditManager, smsLoggerService); creditApplicationManager.Apply(tradesmanCreditManager, new List <ILoggerService> { new SmsLoggerService() }); // Yapılanların hepsi polymorphism örneğidir. Console.WriteLine("---------------------------------"); List <ILoggerService> loggerServices = new List <ILoggerService> { new SmsLoggerService(), new DatabaseLoggerService(), new FileLoggerService() }; creditApplicationManager.Apply(housingCreditManager, loggerServices); }