Covariance si contravariance si CQRS si interfaces – partea 2 din 3

Pentru Covariance si Contravariance cititi :http://blogs.msdn.com/b/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx
Pentru CQRS cititi http://martinfowler.com/bliki/CQRS.html

Sa presupunem acum ca avem o clasa Implementation si o clasa derivata DerivedImplementation


        public interface IFind
        {

        }

        public class Implementation : IFind
        {

        }

        class DerivedImplementation : Implementation
        {

        }

 

In dulcele stil CQRS , avem urmatoarea clasa de Command:

 public interface ICommand<T>
            where T : IFind
        {
            bool Update(T t);
        }



        public class BaseServiceCommnand<T> : ICommand<T>
            where T : IFind
        {



            public bool Update(T t)
            {
                return true;
            }
            
        }

Ce credeti, se compileaza rindul de mai jos:

ICommand<DerivedImplementation> command = new BaseServiceCommnand<Implementation>();

            Console.WriteLine(command.Update(new DerivedImplementation()));

Daca nu ( si nu!) ce trebuie adaugat ?
( nu, nu va ginditi la DI / IoC – e acelasi lucru)

Raspuns:

{
؛(ʇ ʇ)ǝʇɐpdn ןooq
}
puıɟı : ʇ ǝɹǝɥʍ
<ʇ uı>puɐɯɯoɔı ǝɔɐɟɹǝʇuı ɔıןqnd

Data viitoare , concluzii

Leave a Reply

Your email address will not be published. Required fields are marked *