static void Main(string[] args) { Client <DbUserEntity> client = new Client <DbUserEntity>(); ConcreteFirst <DbUserEntity> first = new ConcreteFirst <DbUserEntity>(); ConcreteSecond <DbUserEntity> second = new ConcreteSecond <DbUserEntity>(); client.Create(first); //метод Create() не знает с какой БД работает SecondOrmAdapter <DbUserEntity> adapter = new SecondOrmAdapter <DbUserEntity>(second); client.Create(adapter); Console.Read(); }
static void Main(string[] args) { var dbUserEntity = new DbUserEntity(); var dbUserInfoEntity = new DbUserInfoEntity(); var firstUserOrm = new ConcreteFirstOrm <DbUserEntity>(); var firstUserInfoOrm = new ConcreteFirstOrm <DbUserInfoEntity>(); var firstOrmAdapter = new FirstOrmAdapter(firstUserOrm, firstUserInfoOrm); var firstClient = new UserClient(firstOrmAdapter); firstClient.Add(dbUserEntity, dbUserInfoEntity); var secondOrm = new ConcreteSecondOrm(); var secondOrmAdapter = new SecondOrmAdapter(secondOrm); var secondClient = new UserClient(secondOrmAdapter); secondClient.Add(dbUserEntity, dbUserInfoEntity); }