OOP and the Janus principle
Joel C. Adams · 2006
It is easy for computer science students and educators to write software applications in Java or C++ that are not object-oriented. In this paper, we present the Janus Principle -- a simple software engineering principle (related to the MVC design pattern) whose use produces highly object-oriented code. We demonstrate its effect by developing a simple Java networking application, first without using the Janus Principle, and then using it. Students and educators who follow this principle will write programs containing highly reusable code.