Esempio n. 1
0
        static void Main(string[] args)
        {
            ICreditManager consumerLoanManager = new ConsumerLoanManager();
            ICreditManager vehicleLoanManager  = new VehicleLoanManager();
            ICreditManager mortgageLoanManager = new MortgageLoanManager();

            ILoggerService databaseLoggerService = new DatabaseLoggerService();
            ILoggerService fileLoggerService     = new FileLoggerService();
            //burada instance oluşturmak yerine örneğin 19.satırda parantez içine new FileLoggerService() yazabilirdik

            ICreditManager craftLoanManager = new CraftLoanManager();

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.Apply(craftLoanManager, new List <ILoggerService> {
                new DatabaseLoggerService(), new FileLoggerService()
            });
            //parantez içinde öncelikle kredi türleri için hangi metottan istem yaptıysak onu yazdırdı
            //burada birden fazla logger çalıştırdığımız için, aynı kredilerde olduğu gibi foreach kullanıp logger listesinde döndük.

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                consumerLoanManager, vehicleLoanManager
            };

            //applicationManager.DoCreditPreinformation(credits);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            ILoanManager consumerLoanManager  = new ConsumerLoanManager();
            ILoanManager autoLoanManager      = new AutoLoanManager();
            ILoanManager mortgageLoanManager  = new MortgageLoanManager();
            ILoanManager tradesmanLoanManager = new TradesmanLoanManager();

            //ILoggerService databaseLoggerService = new DatabaseLoggerService();
            //ILoggerService fileLoggerService = new FileLoggerService();
            //ILoggerService smsLoggerService = new SmsLoggerService();

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.MakeApplication(tradesmanLoanManager, loggers);

            List <ILoanManager> loans = new List <ILoanManager>()
            {
                consumerLoanManager, autoLoanManager
            };

            //applicationManager.MakeCreditPreNotification(loans);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            ILoanManager consumerLoanManager = new ConsumerLoanManager();
            ILoanManager vehicleLoanManager  = new VehicleLoanManager();
            ILoanManager mortgageLoanManager = new MortgageLoanManager();
            ILoanManager artisanLoanManager  = new ArtisanLoanManager();

            LoanApplicationManager loanApplicationManager = new LoanApplicationManager();
            ILoggerService         databaseLoggerService  = new DatabaseLoggerService();
            ILoggerService         fileLoggerService      = new FileLoggerService();
            ILoggerService         smsLoggerService       = new SmsLoggerService();

            //loanApplicationManager.Apply(vehicleLoanManager);
            //loanApplicationManager.Apply(mortgageLoanManager);
            loanApplicationManager.Apply(consumerLoanManager, new List <ILoggerService> {
                databaseLoggerService, smsLoggerService
            });
            loanApplicationManager.Apply(artisanLoanManager, new List <ILoggerService> {
                new DatabaseLoggerService(), new FileLoggerService()
            });
            loanApplicationManager.Apply(vehicleLoanManager, smsLoggerService);


            List <ILoanManager> loans = new List <ILoanManager>()
            {
                consumerLoanManager, vehicleLoanManager, mortgageLoanManager
            };
            //loanApplicationManager.GiveCreditPreInformation(loans);
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            //ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager();
            //consumerLoanManager.Calculate();

            //VehicleLoanManager vehicleLoanManager = new VehicleLoanManager();
            //vehicleLoanManager.Calculate();

            //MortgageLoanManager mortgageLoanManager = new MortgageLoanManager();
            //mortgageLoanManager.Calculate();


            //Interfaceler diger classlardaki inherite olabilir. Cunku tum kredi hesaplama yontemlerinde miras almistir.

            //ILoanBaseManager consumerLoanManager1 = new ConsumerLoanManager();
            //consumerLoanManager1.Calculate();

            //ILoanBaseManager vehicleLoanManager1 = new VehicleLoanManager();
            //vehicleLoanManager1.Calculate();

            //ILoanBaseManager mortgageLoanManager1 = new MortgageLoanManager();
            //mortgageLoanManager1.Calculate();



            ILoanBaseManager consumerLoanManager2  = new ConsumerLoanManager();
            ILoanBaseManager vehicleLoanManager2   = new VehicleLoanManager();
            ILoanBaseManager mortgageLoanManager2  = new MortgageLoanManager();
            ILoanBaseManager tradesmanLoanManager2 = new TradesmanLoanManager();


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

            List <ILoggerService> services = new List <ILoggerService>()
            {
                databaseLoggerService, smsLoggerService
            };

            CreditApplicationManager creditApplicationManager = new CreditApplicationManager();

            //creditApplicationManager.CreditApplication(consumerLoanManager2, databaseLoggerService);

            creditApplicationManager.CreditApplication(tradesmanLoanManager2, services);

            List <ILoanBaseManager> loans = new List <ILoanBaseManager>()
            {
                consumerLoanManager2, vehicleLoanManager2, mortgageLoanManager2
            };
            //creditApplicationManager.ProvideCreditPreNotification(loans);

            //Interfaceleri birbirinin alternatifi olan ama kod icerikleri birbirinden farkli olan durumlar icin kullaniriz.
            //Bu yaptigimiz ornekte tum krediler hesaplama ortak bir nokta vardir. Ancak kodlari farkli kurallari vardir.
            //Kredinin turlerine hesaplama turleri degiskenlik gosterir.
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager();

            consumerLoanManager.Calculate();

            VehicleLoanManager vehicleLoanManager = new VehicleLoanManager();

            vehicleLoanManager.Calculate();

            MortgageManager mortgageManager = new MortgageManager();

            mortgageManager.Calculate();

            ICreditManager consumerLoanManager2 = new ConsumerLoanManager();

            consumerLoanManager.Calculate();

            ICreditManager vehicleLoanManager2 = new VehicleLoanManager();

            vehicleLoanManager.Calculate();

            ICreditManager mortgageManager2 = new MortgageManager();

            mortgageManager.Calculate();

            // Interface olarak oluşturmak da aynı işlevi görür, interface onu inheritance eden classları tutabilir

            ILoggerService databaseLoggerManager = new DatabaseLoggerManager();
            ILoggerService fileLoggerManager     = new FileLoggerManager();

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.Apply(consumerLoanManager, new List <ILoggerService> {
                new DatabaseLoggerManager(), new FileLoggerManager()
            });;
            applicationManager.Apply(vehicleLoanManager, new List <ILoggerService>());
            applicationManager.Apply(mortgageManager, new List <ILoggerService>());
            applicationManager.Apply(consumerLoanManager2, new List <ILoggerService>());
            applicationManager.Apply(vehicleLoanManager2, new List <ILoggerService>());
            applicationManager.Apply(mortgageManager2, new List <ILoggerService>());


            Console.WriteLine("\n\n\n\n -------------------------------- \n\n\n\n");


            List <ICreditManager> credits = new List <ICreditManager>()
            {
            };

            credits.Add(consumerLoanManager2);
            credits.Add(vehicleLoanManager2);

            applicationManager.InformAboutCredit(credits);
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            //ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager();
            //consumerLoanManager.Calculate();

            //VehicleLoanManager vehicleLoanManager = new VehicleLoanManager();
            //vehicleLoanManager.Calculate();

            //MortgageLoanManager mortgageLoanManager = new MortgageLoanManager();
            //mortgageLoanManager.Calculate();

            //Yukarıdaki ve aşağıdaki ifadeler birebir aynı şeyi ifade ediyor

            //ILoanManager consumerLoanManager = new ConsumerLoanManager();
            //consumerLoanManager.Calculate();

            //ILoanManager vehicleLoanManager = new VehicleLoanManager();
            //vehicleLoanManager.Calculate();

            //ILoanManager mortgageLoanManager = new MortgageLoanManager();
            //mortgageLoanManager.Calculate();



            ILoanManager consumerLoanManager = new ConsumerLoanManager();
            ILoanManager vehicleLoanManager  = new VehicleLoanManager();
            ILoanManager mortgageLoanManager = new MortgageLoanManager();

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

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

            AppealManager appealManager = new AppealManager();

            appealManager.MakeAnApplication(new TradesmanLoanManager(), loggers);

            List <ILoanManager> loans = new List <ILoanManager>()
            {
                consumerLoanManager, vehicleLoanManager, mortgageLoanManager
            };

            //appealManager.MakeLoanPrenotification(loans);
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            ICreditManager consumerLoanManager = new ConsumerLoanManager();
            ICreditManager vehicleLoanManager  = new VehicleLoanManager();
            ICreditManager mortgageManager     = new MortgageManager();

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

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

            applyManager.Apply(consumerLoanManager, loggers);

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                mortgageManager, vehicleLoanManager
            };
            //applyManager.DoCreditPreİnfo(credits);
        }
Esempio n. 8
0
        //birden fazla class açmamıza polimorfiziim denir
        //daha koılay olması için birden fazla class açtık
        static void Main(string[] args)
        {
            //ikiside aynı
            //ConsumerLoanManager consumerLoanManager = new ConsumerLoanManager();
            //İnterface onu implemente eden classın referansını tutabilir
            //Bu bilgi biz işe sokacak bilgidir o yüzden bu çok önemli

            ILoanManager consumerLoanManager = new ConsumerLoanManager();
            ILoanManager carLoanManager      = new CarLoanManager();
            ILoanManager houseLoanManager    = new HouseLoanManager();



            ApplyManager applyManager = new ApplyManager();

            applyManager.Apply(carLoanManager, new FileLoggerService());

            List <ILoanManager> loans = new List <ILoanManager>()
            {
                consumerLoanManager, carLoanManager
            };
            //applyManager.LoanPreInformation(loans);          //şuan bankadaki görevli kredi bilgilendirmesi için kredileri yolladı
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            ICreditManager ConsumerLoanManager = new ConsumerLoanManager();
            ICreditManager VehicleLoanManager  = new VehicleLoanManager();
            ICreditManager MortageLoanManager  = new MortageLoanManager();
            ICreditManager ArtisanLoanManager  = new ArtisanLoanManager();

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

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.Apply(ArtisanLoanManager, loggers);
            List <ICreditManager> credits = new List <ICreditManager>()
            {
                ConsumerLoanManager, VehicleLoanManager
            };

            //applicationManager.CreditPreNotification(credits);
        }