Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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
            };
        }
Exemplo n.º 8
0
        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)
        }