In the last article I wrote about interfaces and polymorphism, I reviewed their definition, usefulness, and some basic strategies of implementation. In this article, I want to introduce some examples of powerful interfaces in action. Specifically, I intend to discuss the differences between interfaces in several high level languages and some powerful design patterns which are reliant on interfaces.

Short Recap

##Interfaces in Javascript, Python, and PHP

##Some interface patterns

As many other sources will tell you, despite the cloud of mysticism that surround them, design patterns are simply common solutions to common programming problems. Use them because:

* They make your code easier to maintain and improve. 
* They help you name classes and methods.
* The common thread that runs through all of the popular patterns reveals the fundamentals of good code.

The patterns I talk about below are notable because of their dependence on strong interfaces (either implicit or explicit).

###Adapter pattern

The adapter pattern acts as a bridge between an interface and code that does not implement that interface. Let's say that the 

###Strategy pattern

Conclusion / wrap up
Add draft of interfaces 2 article
Add draft of interfaces 2 article
