示例#1
0
        static void Main(string[] args)
        {
            /* Polymorphism
             * Hangi Krediyi Çekmek istersiniz derken senin özelliklerini soruyor ve ihtiyaç da olur taşıt da olur diyor
             * ihtiyaç kredisi ne kadar öderim taşıt çekersem ne kadar öderim bankadaki personele sorulur ekrandan hesaplanır
             *
             *
             */



            ICreditBaseManager konutKredisi   = new HouseCreditManager(); //Interfaceler referans numarasını tutabilir.
            ICreditBaseManager ihtiyacKredisi = new PersonelCreditManager();
            ICreditBaseManager esnafKredisi   = new ArtisanCreditManagar();

            ILogger veritabani = new DatabaseLoggerService();
            ILogger fileLogger = new FileLoggerService();
            ILogger smsLogger  = new SMSLogger();

            ApplicationManager basvuruFormu = new ApplicationManager();

            basvuruFormu.DoApplication(esnafKredisi, new List <ILogger> {
                veritabani, smsLogger
            });                                                                                   // Hangi Krediyi Gönderirsem Onu Çalıştırır && Hangi Log Gönderirsem Onu Çalıştırır

            List <ICreditBaseManager> krediler = new List <ICreditBaseManager>()
            {
                konutKredisi, ihtiyacKredisi
            };
            //basvuruFormu.CreditFrontInfo(krediler); // Kredi Ön Bilgilendirmesi
        }
示例#2
0
        static void Main(string[] args)
        {
            /*
             * burada ilk önce her kredinin ayrı ayrı hesapla methodunu çağırdık
             * sonra basvuru yap diye bir manager açtık onun içine ortak olan interface ten
             * türeyen nesne isteyerek hepsi kendi hesaplamarına gitmeyi sağladık
             * bu dependency injection dır
             */
            //ICreditManager mortgageCredit = new MortgageCreditManager();
            //mortgageCredit.Calculate();

            //ICreditManager vehicleCredit = new VehicleCreditManager();
            //vehicleCredit.Calculate();

            //ICreditManager personelCredit = new PersonelCreditManager();
            //personelCredit.Calculate();

            ICreditManager mortgageCredit = new MortgageCreditManager();

            ICreditManager vehicleCredit = new VehicleCreditManager();

            ICreditManager personelCredit = new PersonelCreditManager();

            ApplyManager applyManager = new ApplyManager();
            //applyManager.Apply(personelCredit);

            /*
             * Burada ise listeden gelenlerin kredierini hesaplattık
             */
            List <ICreditManager> credits = new List <ICreditManager>()
            {
                personelCredit,
                vehicleCredit,
                mortgageCredit
            };

            applyManager.DoCreditInformation(credits);

            //Log kısmı
            ILoggerService dbloggerService   = new DbLoggerService();
            ILoggerService fileloggerService = new FileLoggerService();

            List <ILoggerService> loggerServices = new List <ILoggerService>()
            {
                dbloggerService,
                fileloggerService
            };

            //applyManager.Apply(personelCredit, loggerServices);
        }
示例#3
0
        static void Main(string[] args)
        {
            PersonelCreditManager  personelCreditManager  = new PersonelCreditManager();
            TransportCreditManager transportCreditManager = new TransportCreditManager();
            HouseCreditManager     houseCreditManager     = new HouseCreditManager();

            ILoggerService databaseLoggerService = new DatabaseLoggerService();
            ILoggerService fileLoggerService     = new FileLoggerService();

            List <ILoggerService> loggers = new List <ILoggerService> {
                new SmsLoggerService(), new FileLoggerService()
            };

            ApplicantManager applicantManager = new ApplicantManager();

            applicantManager.MakeApplication(houseCreditManager, loggers);


            List <ICreditManager> credits = new List <ICreditManager>()
            {
                personelCreditManager, transportCreditManager, houseCreditManager
            };
            //applicantManager.CreditInformation(credits);
        }