24 November 2011

When to Use Delegates Instead of Interfaces ?


When to Use Delegates Instead of Interfaces ?

Both delegates and interfaces allow a class designer to separate type declarations and implementation. A given interface can be inherited and implemented by any class or struct;

A delegate can created for a method on any class


Use a delegate when:

-An eventing design pattern is used.

-It is desirable to encapsulate a static method.

-The caller has no need access other properties, methods, or interfaces on  the object implementing the method.

-Easy composition is desired.

-A class may need more than one implementation of the method.

Use an interface when:

There are a group of related methods that may be called.

A class only needs one implementation of the method.

The class using the interface will want to cast that interface to other interface or class types.

The method being implemented is linked to the type or identity of the class: for example, comparison methods.

No comments:

Post a Comment

Comments Welcome