static void Main(string[] args) { ICrediManeger ihtiyacKrediMenager = new IhtiyacKrediMenager(); TasıtKrediMenager tasıtKrediMenager = new TasıtKrediMenager(); KonutKrediMenager konutKrediMenager = new KonutKrediMenager(); EsnafKredisiMenager esnafKredisiMenager = new EsnafKredisiMenager(); //ILoggerService dataBaseLoggerService = new DataBaseLoggerService(); //ILoggerService fileBaseLoggerService = new FileLoggerService(); List <ILoggerService> loggers = new List <ILoggerService> { new DataBaseLoggerService(), new SmsLoggerService(), new FileLoggerService() }; BasvuruMenager basvuruMenager = new BasvuruMenager(); basvuruMenager.BasvuruYap(esnafKredisiMenager, loggers); Console.WriteLine("-------------"); List <ICrediManeger> krediler = new List <ICrediManeger>() { ihtiyacKrediMenager, tasıtKrediMenager, konutKrediMenager, esnafKredisiMenager }; basvuruMenager.KrediOnBilgilendirmesiYap(krediler, loggers); }
static void Main(string[] args) { IKrediMenager ihtıyacKrediMenager = new IhtıyacKrediMenager(); IKrediMenager tasitKrediMenager = new TasitKrediMenager(); IKrediMenager konutKrediMenager = new KonutKrediMenager(); ILoggerService databaseLoggerService = new datebaseLoggerService(); ILoggerService fileLoggerService = new FileLoggerService(); BasvuruMenager basvuruMenager = new BasvuruMenager(); basvuruMenager.BasvuruYap(tasitKrediMenager, databaseLoggerService); //NOTT!! :IKrediMenager desek bile ekranda aynı sonucu alırdık.Demek ki ne çıktı,Interfaceler de o interfaceyi implemente eden classın referans numarasını tutabiliyormuş! //Interface onu implamente eden classın yerini tutabilir. List <IKrediMenager> krediler = new List <IKrediMenager>() { ihtıyacKrediMenager, tasitKrediMenager }; //basvuruMenager.KrediOnBilgilendirmesiYap(krediler); }