public static void Main()
ICustomerDal[] customerDals = new ICustomerDal[3]
new SqlServerCustomerDal(),
foreach (var customerDal in customerDals)
private static void Demo()
CustomerMenager customer = new CustomerMenager();
customer.Add(new OracleCustomerDal());
customer.Add(new SqlServerCustomerDal());
class SqlServerCustomerDal : ICustomerDal
public void Add() {Console.WriteLine("Sql Added!");}
public void Update() {Console.WriteLine("Sql Updated!");}
public void Delete() {Console.WriteLine("Sql Deleted!");}
class OracleCustomerDal : ICustomerDal
public void Add() {Console.WriteLine("Oracle Added!");}
public void Update() {Console.WriteLine("Oracle Updated!");}
public void Delete() {Console.WriteLine("Oracle Deleted!");}
class MySqlCustomerDal : ICustomerDal
public void Add() {Console.WriteLine("MySql Added!");}
public void Update() {Console.WriteLine("MySql Updated!");}
public void Delete() {Console.WriteLine("MySql Deleted!");}
public void Add(ICustomerDal customerDal) {customerDal.Add();}
string FirstName {get ; set;}
string LastName {get ; set;}
public int Id {get ; set;}
public string FirstName {get ; set;}
public string LastName {get ; set;}
public string Adress {get ; set;}
public int Id {get ; set;}
public string FirstName {get ; set;}
public string LastName {get ; set;}
public string Department {get ; set;}
public void Add(IPerson person) {Console.WriteLine(person.FirstName);}
private static void InterfacesIntro()
PersonMenager menager = new PersonMenager();
Customer customer = new Customer
Id = 1, FirstName = "Furkan", LastName = "Yıldırım", Adress = "Istanbul"
Student student = new Student
Id = 2, FirstName = "Ahmet", LastName = "Deli", Department = "Engineering"