static void Main(string[] args) { İhtiyacKrediManager ihtiyacKrediManager = new İhtiyacKrediManager(); // ihtiyacKrediManager.Hesapla(); //TasitKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); //iki şekilde olur IKrediManager konutKrediManager = new KonutKrediManager(); // konutKrediManager.Hesapla(); BasvuruManager basvuruManager = new BasvuruManager(); IloggerService databaseLoggerService = new DatabaseLoggerService(); IloggerService fileBaseLoggerService = new FilebaseLoggerService(); basvuruManager.BasvuruYap(konutKrediManager, databaseLoggerService); basvuruManager.BasvuruYap(tasitKrediManager, fileBaseLoggerService); basvuruManager.BasvuruYap(ihtiyacKrediManager, new DatabaseLoggerService()); basvuruManager.BasvuruYap(new EsnafKredisiManager(), new SmsLoggerService()); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager, konutKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); TasitKrediManager tasitKrediManager = new TasitKrediManager(); KonutKerdiManager konutKerdiManager = new KonutKerdiManager(); EsnafKredisiManager esnafKredisiManager = new EsnafKredisiManager(); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager, konutKerdiManager, esnafKredisiManager }; ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FilebaseLoggerService(); ILoggerService smsLoggerService = new SmsLoggerService(); List <ILoggerService> Loggers = new List <ILoggerService>() { databaseLoggerService, fileLoggerService, smsLoggerService }; BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(ihtiyacKrediManager, Loggers); basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService filelogerService = new FilebaseLoggerService(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(ihtiyacKrediManager, databaseLoggerService); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { KonutKredisiManager konutKredisiManager = new KonutKredisiManager(); IKrediManager tasıtKredisiManager = new TasıtKredisiManager(); //Ikredimanager diyee olur tasıtKredisiManager diyede olur. ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService filelogerService = new FilebaseLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(konutKredisiManager, new DatabaseLoggerService()); //alternatif new olarak içinde de tanımlayabilirim List <IKrediManager> krediler = new List <IKrediManager>() { konutKredisiManager //hesaplamasını istediğim kredileri burda gönderiyorum }; //basvuruManager.BasvuruOnBilgilendirme(krediler); }
static void Main(string[] args) { //IhtiyacKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); //ihtiyacKrediManager.Hesapla(); //TasitKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); //KonutKrediManager konutKrediManager = new KonutKrediManager(); //konutKrediManager.Hesapla(); //IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); // Bu şekildede yazabiliriz. //ihtiyacKrediManager.Hesapla(); //IKrediManager tasitKrediManager = new TasitKrediManager(); //tasitKrediManager.Hesapla(); //IKrediManager konutKrediManager = new KonutKrediManager(); //konutKrediManager.Hesapla(); IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); // BaşvuruManager için işlemler... IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); IKrediManager esnafKrediManager = new EsnafKrediManager(); ILoggerService databaseLoggerSrevice = new DatabaseLoggerService(); ILoggerService filebaseLoggerService = new FilebaseLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(esnafKrediManager, new SmsLoggerService()); //basvuruManager.BasvuruYap(tasitKrediManager, filebaseLoggerService); //basvuruManager.BasvuruYap(tasitKrediManager); //basvuruManager.BasvuruYap(ihtiyacKrediManager); List <IKrediManager> krediler = new List <IKrediManager>() { tasitKrediManager, ihtiyacKrediManager }; //basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
static void Main(string[] args) { //bunları şubedeki arkadaşın ekranı olarak düşün. IKrediManager ihtiyacKrediManager = new IhtiyacKrediManager(); IKrediManager tasitKrediManager = new TasitKrediManager(); IKrediManager konutKrediManager = new KonutKrediManager(); ILoggerService databaseLoggerService = new DatabaseLoggerService(); ILoggerService fileLoggerService = new FilebaseLoggerService(); BasvuruManager basvuruManager = new BasvuruManager(); basvuruManager.BasvuruYap(new EsnafKredisiManager(), new SmsLoggerManager()); List <IKrediManager> krediler = new List <IKrediManager>() { ihtiyacKrediManager, tasitKrediManager }; // basvuruManager.KrediOnBilgilendirmesiYap(krediler); }
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) { //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) }