Monkeybars Framework
Encyclopedia
Monkeybars is a library that provides a structured way of building Swing
applications using JRuby
. Although Monkeybars uses the ideas of models, views, and controllers, its usage of the terms is not the same as in traditional MVC systems. Monkeybars uses the idea of the three discrete components to emphasize a separation of concerns that is often sorely lacking in GUI applications but attributes different roles and responsibilities to each component.
The core of Monkeybars' functionality comes from two classes, the Controller and the View. These serve as base classes for the various controllers and views in your own application. Very few assumptions are made about your model and as such there is no base class to inherit from. Monkeybars encourages the controller, model, and view to each remain very decoupled from each other by acting as a bridge between the components. This acts as a very simple form of dependency injection since the model and view a particular controller interacts with are not explicitly created by the controller but are simply declared there. Substituting a model or view with a mock object is trivial.
Swing (Java)
Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....
applications using JRuby
JRuby
JRuby is a Java implementation of the Ruby programming language, being developed by the JRuby team. It is free software released under a three-way CPL/GPL/LGPL license...
. Although Monkeybars uses the ideas of models, views, and controllers, its usage of the terms is not the same as in traditional MVC systems. Monkeybars uses the idea of the three discrete components to emphasize a separation of concerns that is often sorely lacking in GUI applications but attributes different roles and responsibilities to each component.
The core of Monkeybars' functionality comes from two classes, the Controller and the View. These serve as base classes for the various controllers and views in your own application. Very few assumptions are made about your model and as such there is no base class to inherit from. Monkeybars encourages the controller, model, and view to each remain very decoupled from each other by acting as a bridge between the components. This acts as a very simple form of dependency injection since the model and view a particular controller interacts with are not explicitly created by the controller but are simply declared there. Substituting a model or view with a mock object is trivial.