ABC

ABC is a mythical framework for analyzing benefit and compensation schemes.

The true purpose of ABC is to demonstrate various design patterns and concepts from object-oriented programming.

The ABC Architecture

ABC is a web-based framework that runs on the J2EE platform.

The design of ABC instantiates the popular Three-Layered Architecture pattern:

The persistence package contains databases and XML documents representing the members of a large organization, their dependants, and their assigned benefits packages.

The business layer contains Java objects representing the members, dependants, and benefits packages mentioned above. These objects can execute methods that embody the business rules for assigning and analyzing benefits.

The presentation layer contains controllers and views.

A view is typically a Java server page (JSP) containing information and a form.

A controller is typically a servlet that receives the filled-in form from a view, updates and queries the business package, selects the next view to be displayed, then forwards the request and the query results to this view. (This is the basic idea behind the Struts framework.)

ABC as a JDeveloper Application

ABC is implemented as a JDeveloper application.

Each lab can be implemented as a project in the ABC application.

See the JDeveloper Overview for instructions on setting this up.

The Labs

Lab: The Composite Design Pattern

Lab: The Strategy Design Pattern

Lab: The Observer Pattern

Lab: The Abstract Factory Pattern

Lab: The Singleton Pattern