示例#1
0
 public void GetApplication(ICreditService creditManager, List <ILoggerService> loggerServices)
 {
     creditManager.Calculate();
     foreach (ILoggerService loggerService in loggerServices)
     {
         loggerService.Log();
     }
 }
 //Method injection
 public void RecourseToLoan(ICreditService creditService, List <ILoggerService> loggerServices)
 {
     //Başvuran bilgilerini değerlendirme
     //
     creditService.Calculate();
     foreach (var loggerService in loggerServices)
     {
         loggerService.Log();
     }
 }
        //başvuru servisini aynı zamanda loglamak istiyorsak
        //sadece interfaceini veriyoruz. (ILoggerService)
        //Methot injection
        //burada dependency injection yapıyoruz.
        //bu methodun hangi kredi türü için başvuru yapacağını ve nasıl loglanacağını enjekte ediyoruz.
        //public void CreditApplication(ICreditService creditService, ILoggerService loggerService)
        //eğer loglama için birden fazla servis kullanacaksak List of ile getireceğiz
        public void CreditApplication(ICreditService creditService, List <ILoggerService> loggerServices)
        {
            //Kredi Başvuru bilgileri değerlendirme
            creditService.Calculate();

            //Seçilen Loglama servislerine loglama
            foreach (var loggerService in loggerServices)
            {
                loggerService.Log();
            }
        }
        public void Apply(ICreditService creditManager, ILoggerService loggerService = null)
        {
            //Başcuru bilgileri değerlendirme
            //...

            //Yanlış Kullanım
            //MortgageLoanManager mortgageLoanManager = new MortgageLoanManager();
            //mortgageLoanManager.Calculate();

            creditManager.Calculate();
            if (loggerService != null)
            {
                loggerService.Log();
            }
        }
示例#5
0
 public void Oransal(ICreditService credit)
 {
     credit.Calculate();
 }