Пример #1
0
        static void Main(string[] args)
        {
            ILoanManager personalLoanManager = new PersonalLoanManager();
            ILoanManager autoLoanManager     = new AutoLoanManager();
            ILoanManager mortgageLoanManager = new MortgageLoanManager();

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

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

            ApplyManager applyManager = new ApplyManager();

            // applyManager.ApplyNow(personalLoanManager,fileLoggerService); //new DatabaseLoggerService() şeklinde de yazılabilir
            applyManager.ApplyNow(new TradesmenLoanManager(), loggers);
            // applyManager.ApplyNow(new TradesmenLoanManager(), new List<ILoggerService>(){new DatabaseLoggerService(),new SmsLoggerService()});

            List <ILoanManager> loans = new List <ILoanManager>()
            {
                personalLoanManager, autoLoanManager
            };
            //applyManager.LoanPrequalificaiton(loans);
        }
Пример #2
0
        static void Main(string[] args)
        {
            ILoanManager financeLoanManager   = new FinanceLoanManager();
            ILoanManager transportLoanManager = new TransportLoanManager();
            ILoanManager mortgageLoanManager  = new MortgageLoanManager();

            ILoggerService loggerService = new FileLoggerService();

            ApplicationManager applicationManager = new ApplicationManager();
            //applicationManager.BasvuruYap(mortgageLoanManager , new DatabaseLoggerService());
            //applicationManager.BasvuruYap(transportLoanManager, loggerService);
            //applicationManager.BasvuruYap(new ArtisanLoanManager(), new SmsLoggerService());

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

            applicationManager.BasvuruYap(new ArtisanLoanManager(), loggers);

            /*applicationManager.BasvuruYap(new ArtisanLoanManager(), new List<ILoggerService>()
             * {
             *  new DatabaseLoggerService(),
             *  new SmsLoggerService()
             * });*/

            List <ILoanManager> loans = new List <ILoanManager>()
            {
                financeLoanManager, transportLoanManager
            };

            //applicationManager.DoLoanPreviewInformation(loans);
        }
Пример #3
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);
        }
Пример #4
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);
        }
Пример #5
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);
        }
Пример #6
0
        static void Main(string[] args)
        {
            //interface lerin birbirlerinin alternatifi olan kod içeriklerinin farklı olan kod içerikleri için kullanırız.
            ICreditManager needLoanManager     = new NeedLoanManager();
            ICreditManager vehicleLoanManager  = new VehicleLoanManager();
            ICreditManager mortgageLoanManager = new MortgageLoanManager();
            ICreditManager artisanLoanManager  = new ArtisanLoanManager();

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

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.MakeAnApplication(needLoanManager, loggers); //Hangi class ı gönderirsem onun methodu çalışır.
            applicationManager.MakeAnApplication(artisanLoanManager, loggers);

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

            //applicationManager.MakeCreditPreNotification(credits);
        }
        static void Main(string[] args)
        {
            PersonalFinanceCreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager();
            TransportCreditManager       transportCreditManager       = new TransportCreditManager();
            MortgageLoanManager          mortgageLoanManager          = new MortgageLoanManager();


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


            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.MakeAnApplication(personalFinanceCreditManager, new List <ILoggerService>()
            {
                fileLoggerService, databseLoggerService
            });



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

            applicationManager.MakeCreditPreNotification(credits);
        }
Пример #8
0
        static void Main(string[] args)
        {
            ICreditManager personalFinanceLoanManager = new PersonalFinanceLoanManager();
            ICreditManager vehicleLoanManager         = new VehicleLoanManager();
            ICreditManager mortgageLoanManager        = new MortgageLoanManager();

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

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.Apply(personalFinanceLoanManager, loggers);

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

            //applicationManager.GiveCreditPreInformation(credits);
        }
Пример #9
0
        static void Main(string[] args)
        {
            ICreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager();
            ICreditManager transportCreditManager       = new TransportCreditManager();
            ICreditManager mortgageLoanManager          = new MortgageLoanManager();

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

            AppealManager appealManager = new AppealManager();

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

            appealManager.MakeApp(mortgageLoanManager, loggers);
            //appealManager.MakeApp(mortgageLoanManager, new DatabaseLoggerService()); bu şekildede yapılabilir *1* işaret, olan satır kullanılmadan

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                personalFinanceCreditManager, transportCreditManager
            };
            //appealManager.CreditPriorKnowledge(credits);
        }
Пример #10
0
        private static void Main(string[] args)
        {
            ICreditService financeCreditManager = new FinanceLoanManager();
            ICreditService vehicleLoanManager   = new VehicleLoanManager();
            ICreditService mortgageLoanManager  = new MortgageLoanManager();

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

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


            RecourseManager recourseManager = new RecourseManager();

            recourseManager.RecourseToLoan(new MortgageLoanManager(), loggers);

            List <ICreditService> creditServices = new List <ICreditService>()
            {
                financeCreditManager, vehicleLoanManager
            };

            recourseManager.LoanPreliminaryInformation(creditServices);


            Console.ReadLine();
        }
Пример #11
0
        static void Main(string[] args)
        {
            ICreditManager personelCreditManager  = new PersonalFinanceCreditManager();
            ICreditManager transportCreditManager = new TransportCreditManager();
            ICreditManager mortgageLoanManager    = new MortgageLoanManager();


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

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

            ApplicationManager applicationManager = new ApplicationManager();

            //applicationManager.MakeAnApplication(personelCreditManager, fileLoggerService);
            applicationManager.MakeAnApplication(new ArtisanLoanManager(), loggers);

            //applicationManager.MakeAnApplication(personelCreditManager, databaseLoggerService);
            //applicationManager.MakeAnApplication(mortgageLoanManager);
            //applicationManager.MakeAnApplication(transportCreditManager);

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                personelCreditManager, transportCreditManager
            };
            // applicationManager.CreditPreNotification(credits);
        }
Пример #12
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.
        }
Пример #13
0
        static void Main(string[] args)
        {
            //GeneralLoanManager generalLoanManager = new GeneralLoanManager(); alttaki ile aynı.İnterfacelerde o interfacei implemente eden classın referans numarasını tutabiliyomuş.
            //ICreditManager generalLoanManager = new GeneralLoanManager();
            //generalLoanManager.Calculate();

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

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


            //Kullanıcı ekranında bu krediler seçenek
            ICreditManager generalLoanManager  = new GeneralLoanManager();
            ICreditManager vehicleLoanManager  = new VehicleLoanManager();
            ICreditManager mortgageLoanManager = new MortgageLoanManager();

            //ApplicationManager applicationManager = new ApplicationManager();
            //applicationManager.MakeApplication(generalLoanManager);   //yani ekranda ihtiyaç kredisi seçildiğinde o kredinin hesapla fon ekrana yazılır.

            //List<ICreditManager> loans = new List<ICreditManager>() { }; //kullanıcı kendi durumuna göre krediler asında filtrelem yapıldı ekranda seçilen krediler listelenerek ödeme hesabı yapıldı
            //applicationManager.MakeCreditPrenotification(loans);

            //Loglama kim ne zaman hangi operasyonu çağırdı, sistemde olan hareketlerin dokümanı.Loglama, dosya, veritabanı olarak tuutulabilir veya sms olarak tutulabilir.


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


            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.MakeApplication(new VehicleLoanManager(), smsLoggerService); //tasit kredisi yolllanna kişiye smsde yolla.  VehicleLoanManager için yeni instance burda da bu şekilde oluşturulabilir.



            //Birden fazla logger yollama
            //List<ILoggerService> loggers = new List<ILoggerService> { new SmsLoggerService(), new FileLoggerService() };


            //ApplicationManager applicationManager = new ApplicationManager();
            //applicationManager.MakeApplication(new MortgageLoanManager(), loggers);

            //List<ICreditManager> loans = new List<ICreditManager>() { VehicleLoanManager, GeneralLoanManager };

            //applicationManager.MakeCreditPrenotification(loans);
        }
Пример #14
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);
        }
Пример #15
0
        static void Main(string[] args)
        {
            RequirementLoanManager requirementLoanManager = new RequirementLoanManager();
            VehicleLoanManager     vehicleLoanManager     = new VehicleLoanManager();
            MortgageLoanManager    mortgageLoanManager    = new MortgageLoanManager();

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

            RecourseManager recourseManager = new RecourseManager();

            recourseManager.MakeAnApplication(mortgageLoanManager, databaseLoggerService);  //It calculates whatever loan is sent from the RecourseManager

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                requirementLoanManager, vehicleLoanManager
            };
            //recourseManager.DoCreditPreinformation(credits);
        }
Пример #16
0
        static void Main(string[] args)
        {
            ICreditManager needLoanManager        = new NeedLoanManager();
            ICreditManager transportCreditManager = new TransportCreditManager();
            ICreditManager mortgageLoanManager    = new MortgageLoanManager();

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.MakeApplication(needLoanManager, new List <ILoggerService> {
                new DatabaseLoggerService(), new FileLoggerService()
            });

            List <ICreditManager> credits = new List <ICreditManager> {
                needLoanManager, transportCreditManager
            };

            //applicationManager.CreditPreliminaryInformation(credits);

            Console.ReadLine();
        }
Пример #17
0
        //SOLID
        //O- Open Closed Principle
        //Sisteme yeni bir özellik eklendiğinde mevcut kodlar bozulmaz.
        static void Main(string[] args)
        {
            //Interfaceler de o interfacei implemente eden class ın referans numarasını tutabilir.
            ICreditManager personalFinanceLoanManager = new PersonalFinanceLoanManager();
            ICreditManager transportLoanManager       = new TransportLoanManager();
            ICreditManager mortgageLoanManager        = new MortgageLoanManager();

            ApplicationManager appManager = new ApplicationManager();

            appManager.MakeAnApplication(personalFinanceLoanManager, new DatabaseLoggerService());
            appManager.MakeAnApplication(mortgageLoanManager, new FileLoggerService());


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

            //.MakeAnCreditPreinformation(credits);
        }
Пример #18
0
        static void Main(string[] args)
        {
            ICreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager();

            ICreditManager vehicleLoanManager = new VehicleLoanManager();

            ICreditManager mortgageLoanManager = new MortgageLoanManager();



            LoanApplication application = new LoanApplication();

            application.Application(vehicleLoanManager, new DataBaseLoggerService());

            List <ICreditManager> credits = new List <ICreditManager> {
                mortgageLoanManager, vehicleLoanManager
            };

            //application.CreditInformation(credits);
        }
Пример #19
0
        static void Main(string[] args)
        {
            ILoanManager personalFinanceManager = new PersonalFinanceManager();
            ILoanManager transportLoanManager   = new TransportLoanManager();
            ILoanManager mortgageLoanManager    = new MortgageLoanManager();
            ILoanManager traderLoanManager      = new TraderLoanManager();

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

            applyManager.BasvuruYap(traderLoanManager, new SmsLoggerService()); //(new DatabaseLoggerService) de olur


            List <ILoanManager> loans = new List <ILoanManager>()
            {
                personalFinanceManager, transportLoanManager
            };
            //applyManager.LoanPreview(loans);
        }
Пример #20
0
        static void Main(string[] args)
        {
            ICreditManager personalFinanceCredit = new PersonalFinanceCredit();
            ICreditManager transportCredit       = new TransportCredit();
            ICreditManager mortgageLoanManager   = new MortgageLoanManager();

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



            AppealManager appealManger = new AppealManager();

            appealManger.BasvuruYap(personalFinanceCredit, new DatabaseLoggerService());

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                personalFinanceCredit
            };
        }
Пример #21
0
        static void Main(string[] args)
        {
            ICreditManager personalCreditManager  = new PersonalCreditManager();
            ICreditManager transportCreditManager = new TransportCreditManager();
            ICreditManager mortgageLoanManager    = new MortgageLoanManager();

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

            ReferenceManager referenceManager = new ReferenceManager();

            referenceManager.ToApply(transportCreditManager, databaseLoggerService);
            //seçilen kredi hesaplama seçilen database loglama

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

            //referenceManager.MakeCreditAdvanceNotification(credits);
        }
Пример #22
0
        static void Main(string[] args)
        {
            ICreditManager financeLoanManager   = new FinanceLoanManager();
            ICreditManager transportLoanManager = new TransportLoanManager();
            ICreditManager mortgageLoanManager  = new MortgageLoanManager();
            ICreditManager artisanLoanManager   = new ArtisanLoanManager();

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.Apply(artisanLoanManager, new List <ILoggerService> {
                new DataBaseLoggerService(), new SmsLoggerService()
            });                                                                                                                             // new DataBaseLoggerService alternatif olarak böyle de ifade edilebilir

            List <ICreditManager> credits = new List <ICreditManager> {
                financeLoanManager, transportLoanManager
            };

            //applicationManager.CreditPreInformation(credits);
        }
Пример #23
0
        static void Main(string[] args)
        {
            //PersonalFinanceCreditManager personalFinanceCreditManager1 = new PersonalFinanceCreditManager();
            //personalFinanceCreditManager1.Calculate();

            //TransportCreditManager transportCreditManager1 = new TransportCreditManager();
            //transportCreditManager1.Calculate();

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

            ///////////////////////////////////////////////////////////////////////////////////////////////////////

            ILoanManager personalFinanceCreditManager2 = new PersonalFinanceCreditManager();
            ILoanManager transportCreditManager2       = new TransportCreditManager();
            ILoanManager mortgageLoanManager2          = new MortgageLoanManager();

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

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

            appealManager.DoAppeal(mortgageLoanManager2, loggers);
            //appealManager.DoAppeal(new ArtisanLoanManager(), new List<ILoggerService> { databaseLoggerService, smsLoggerService });

            // Polymorphism

            List <ILoanManager> loans = new List <ILoanManager>()
            {
                personalFinanceCreditManager2, transportCreditManager2
            };

            //appealManager.DoCreditPreliminaryInformation(loans);
        }
Пример #24
0
        static void Main(string[] args)
        {
            ILoanBaseManager personalFinanceLoanManager = new PersonalFinanceLoanManager();
            ILoanBaseManager transportLoanManager       = new TransportLoanManager();
            ILoanBaseManager mortgageLoanManager        = new MortgageLoanManager();

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.MakeApplication(personalFinanceLoanManager, databaseLoggerService);
            applicationManager.MakeApplication(mortgageLoanManager, fileLoggerService);
            //applicationManager.MakeApplication(transportLoanManager);
            //applicationManager.MakeApplication(mortgageLoanManager);

            List <ILoanBaseManager> loans = new List <ILoanBaseManager>()
            {
                personalFinanceLoanManager, transportLoanManager, mortgageLoanManager
            };

            //applicationManager.LoanPreInformation(loans);
        }
Пример #25
0
        static void Main(string[] args)
        {
            ILoanManager needLoanManager     = new NeedLoanManager();
            ILoanManager vehicleLoanManager  = new VehicleLoanManager();
            ILoanManager mortgageLoanManager = new MortgageLoanManager();
            ILoanManager esnafLoanManager    = new EsnafLoanManager();

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.ToApply(esnafLoanManager, smsLoggerService);
            //applicationManager.ToApply(needLoanManager);

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

            //applicationManager.LoanInformation(loans);
        }
Пример #26
0
        static void Main(string[] args)
        {
            ICreditManager personalFinanceCreditManager = new PersonalFinanceCreditManager();
            ICreditManager vehicleCreditManager         = new VehicleCreditManager();
            ICreditManager mortgageLoanManager          = new MortgageLoanManager();

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

            ApplicationManager applicationManager = new ApplicationManager();

            applicationManager.Apply(new ArtisanCreditManager(), new List <ILoggerService> {
                new DatabaseLoggerService(), new SmsLoggerService()
            });

            List <ICreditManager> credits = new List <ICreditManager>()
            {
                personalFinanceCreditManager,
                vehicleCreditManager,
                mortgageLoanManager
            };

            //applicationManager.CreditPreview(credits);
        }
Пример #27
0
        static void Main(string[] args)
        {
            //---------INTERFACES-----------//----------POLIMORFISM-----------//

            // Yıldızlı not - Interface'leri birbirinin alternatifi olan ama kod içerikleri farklı olan durumlar için kullanırız!

            // Interface'ler de o interface'i implemente eden class'ı ve yani referansını tutabiliyorlar.

            // Loglama - kim ne zaman hangi operasyonu çağırdı; sistemde olan hareketlerin dökümüdür. Veri tabanı, dosya, sms, mail olarak tutulabilir.

            // Mesela Log için de interface kullanılır. Farklı tutma yolları için.



            //- PersonalFinanceCreditManager ihtiyacKrediManager = new PersonalFinanceCreditManager();
            //- ihtiyacKrediManager.Calculate();

            //- TransportCreditManager tasitKrediManager = new TransportCreditManager();
            //- tasitKrediManager.Calculate();

            //- MortgageLoanManager konutKrediManager = new MortgageLoanManager();
            //- konutKrediManager.Calculate();

            // Bu şekilde ekrana kredilerin içindeki kodu yazdıracaktır.

            // Ancak önemli nokta şudur ki:

            //- ICreditManager ihtiyacKredisiManager = new PersonalFinanceCreditManager();
            //- ihtiyacKredisiManager.Calculate();

            // Hepsi interface'imizi kullanarak da aynen çalışabilir.
            //
            //

            //---------------------CreditApplicationManager düzenledikten sonra ise şunu yaptık----------------------//

            ICreditManager konutKrediManager   = new MortgageLoanManager();
            ICreditManager ihtiyacKrediManager = new PersonalFinanceCreditManager();
            ICreditManager tasitKrediManager   = new TransportCreditManager();

            // Bunların ekrandaki açılır kutu ve seçenekleri olduğunu düşünelim.


            ILoggerService databaseLoggerService = new DatabaseLoggerService(); // bunları da oluşturduğumuz için sonradan newledik.
            ILoggerService fileLoggerService     = new FileLoggerService();     //
            ILoggerService smsLoggerService      = new SmsLoggerService();      // bunlar üç loglama alternatifi

            // Birden fazla loglama için liste, şimdi aşağıda başvuru yerinin ikinci parametresi loggers yapmak yeterli olacak.
            List <ILoggerService> loggers = new List <ILoggerService> {
                fileLoggerService, databaseLoggerService, smsLoggerService
            };                                                                                                                      // neleri istersek ekleriz.


            CreditApplicationManager creditApplicationManager = new CreditApplicationManager();

            creditApplicationManager.MakeAnApplication(tasitKrediManager, loggers); // databaseLogger ve fileLogger oluşturunca istedi, parametreye ekledik

            // Yukarıda ise kullanıcının kredilerden birini seçtiğini, bu seçim ile de üstteki parametreye o seçimin eklendiğini düşünelim.
            // Bu kod kredi başvuru class'ına gider ve orada da taşıt kredisi atandığı için taşıt kredisi class'ının hesaplaması çalışır.
            // Bu yüzden de ekrana sadece Taşıt kredisi ödeme planı hesaplandı yazar.

            // Soyutlama yani bu OOP3 Projesinde anlatılanlar son derece önemlidir. İşe kabul ettirecek bilgilerdir.


            // Kredi ön bilgilendirmesi yap kısmından sonra buraya geldik. Orada parametre içine sayısı belirsiz olduğu için List yapmıştık.
            List <ICreditManager> krediler = new List <ICreditManager>()
            {
                tasitKrediManager, ihtiyacKrediManager
            };                                                                                                    // süslü parantezlerin içi: müşterinin bilgi almak istediği kredilerden seçtiğini varsayalım.
            //- creditApplicationManager.GiveCreditPreInformation(krediler); // krediönbilgilendirmesiyap(kredilerden) demek.

            // yeni kredi oluşturmamız istendi diyelim, esnaf kredisi gibi. SOLID'in O harfi (sisteme yeni özellik eklendiğinde sistem bozulmaz)
            // yeni class'ı ekleriz hesapla kısmını simüle ederiz.
            // Başvuru kodunun (yukarda) ilk parametresini new EsnafKredisiManager() yaparız. ( ya da orada new'lemek yerine diğerleri gibi üzerinde instence yaparız.)

            // ayın şey loglama için de geçerli. artık sms de yollayalım dedik. smsLoggerService class'ı oluşturduk.
            // :ILoggerService ekleyip implement edip public void Log() { cw( "sms yollandı" ) } deriz.
            // Program cs kısmında başvuru ikinci parametresini new smsLoggerService() yapar ya da diğerleri gibi üstte new'leriz. (alternatif yollardır)

            // Bu yaptıklarımız Polimorfizmdir.
        }