The Development of a Game Playing Framework Using Interface-Based Programming
The Java programming language contains object-oriented features enabling the construction of interface-based application frameworks. Interfaces separate module implementation from core implementation, thus simplifying module development. The following article demonstrates how to take advantage of Java interfaces by designing and implementing a game playing application framework.
Cohen, Mark A. ACM Crossroads (2004). Design>User Interface>Programming>Games