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.)

Polymorphism

Interfaces and Generic Collections

An XML Representation

Filters

Code

composite package