Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Beginner
Jul 25, 2003

Use Interfaces to Increase Source Code Flexibility

Where possible, use interfaces (as opposed to interface-implementation classes) to increase your source code's flexibility. If you later need to change an interface-implementation class (to improve performance, for example), it's a trivial matter to change a constructor call (or a call to a static factory method) as opposed to making many source code changes. Consider the following example.
 
List l = new ArrayList ();
In the above example, if the ArrayList-based implementation must be changed to an implementation based on a Vector, a LinkedList, or some other class that implements the List interface, it's easy to change new ArrayList (); to new Vector ();, new LinkedList (); (and so on). No other source code needs to be changed.

If the example had declared ArrayList l = new ArrayList ();, called ArrayList-specific methods, and called a method with an ArrayList parameter, the single new ArrayList (); change would not be sufficient. However, by declaring variable l to be of interface type (List) as opposed to class and interface type (ArrayList), only a single change is neededand that increases your source code flexibility.

Jeff Friesen
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date