Interfaces – An Article


Really great article describing the importance of interfaces and example usage in software and in the real world.

An interface can be though of as a contract between the system and the environment.  In a computer program, the ‘system’ is the function or module in question, and the ‘environment’ is the rest of the project.  The interface formally describes what can pass between the system and the environment.  An ‘implementation’ can be defined as the system minus the interface.  Interfaces in languages like Haskell can be extremely specific, or very non-specific like in Python.  The types of interfaces used can affect the amount of technical debt that is created (a mathematical formula is provided), and programmer productivity.  A method for quantifying and comparing interfaces is proposed.  Based on these comparisons, you can make a number of observations about the way a language or tool is used…

Continue reading here: http://blog.robertelder.org/interfaces-most-important-software-engineering-concept/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s