Interface based programming
From Wikipedia, the free encyclopedia
| It has been suggested that this article or section be merged into Interface_description_language. (Discuss) |
| This article does not cite any references or sources. (February 2007) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
| This article is orphaned as few or no other articles link to it. Please help introduce links in articles on related topics. (February 2007) |
Interface-based programming is a concept that has a close relationship with Modular Programming and Object-Oriented Programming.
Modular Programming defines the application as a collection of intercoupled modules. This increases the modularity of the application and hence its maintainability. The total system complexity is greatly reduced. Interface Based Programming adds more to modular Programming that it insists Interfaces to be added to these modules. The entire system is thus viewed as Components and the interfaces that helps them to coact.
This is particularly convenient when third parties develop additional components for the established system. They just have to develop components that satisfy the interface specified by the parent application vendor. This is somewhat like NOKIA specifying the Mobile Charger Interface and the third parties making their own Mobile Phone Chargers adhered to these standards/Interface(Pin Arrangement,AC-DC Conversion Voltages etc).
Another example is IEE 1394 (Firewire) being accepted by both your Laptop manufacturer and your Digital Camera manufacturer.
Thus the publisher of the interfaces assures that he will not change the interface and the subscriber agrees to implement the interface as whole without any deviation. An interface is therefore said to be a Contractual agreement and the programming paradigm based on this is termed as "interface based programming".

