Fat interfaces

From CSSEMediaWiki
Revision as of 08:46, 22 September 2008 by Chen Qing (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A fat interface is usually the one which is aimed at serving more than one set of clients. A fat interface looks powerful but indeed quite harmful. By using fat interface, we unavoidably introduce coupling between clients. With the use of a fat interface, you might end up with change program code as a result of an irrelevant part of the interface change. One change of the interface might propagate to large number of clients, since the interface is rich/fat, it will be undoubted have a large number of clients depend on it. As summarized by others before, your code should only dependent on the interfaces it indeed uses.

The Interface Segregation Principle is targeted at avoiding fat interfaces.

External Links

Link for Interface Segregation Principle:

http://c2.com/cgi/wiki?InterfaceSegregationPrinciple;

http://doodleproject.sourceforge.net/articles/2001/interfaceSegregationPrinciple.html;

http://davidhayden.com/blog/dave/archive/2005/06/15/1482.aspx

Personal tools