Various presentations and discussions of the OpenEdge Reference Architecture have advocated consideration of the Model-View-Controller (MVC) pattern as the basis for the Presentation layer of an application. Although other design approaches can also be used, MVC is in fact an excellent basis for the Presentation Layer.
This paper provides an overview of the MVC pattern and describes a simple prototype to show some of the ways in which developers can effectively implement it in ABL.
An important element of the sample code provided along with this paper is to use the new OpenEdge 10.1A BIND keyword on ProDataSet parameters to improve the separation of responsibilities between the View and the Model. The reader is referred to the PSDN paper entitled Patterns for OpenEdge Development: Client Cache for more information and examples on the use of the BIND option on parameters, and to the series of papers on Implementing the OpenEdge Reference Architecture for information on the code samples that the MVC code example described in this paper extends. References to the sample implementation in this paper are to the code base described in those papers.
This paper's examples could form the basis for an implementation of an MVC Presentation layer that effectively works with Business Entities on one end and with a native OpenEdge or non-OpenEdge user interface. As with other samples, it is not intended to be complete or particularly robust, but to serve to illustrate the intentions of a part of the Architecture, and to show how you can take advantage of certain specific language constructs (including new ones in OpenEdge 10.1A) to build an effective application.
Does anyone know where the examples for this can be downloaded from?