Design Patterns

Facade Pattern - Often served as the boundary between client and remote server single point of contact, so that the complexity of business object interactions are hidden from client and improves the performance by reducing the calls to various backend server objects.

Observer Pattern - Often it is used for event - subscriber type applications

Singleton Pattern - It is used to ensure the uniqueness of the class object/attributes instantiation.

Factory Pattern - It essentially uses the override feature in java to allow subclass factory method overrides the parentclass factory method. Think of a factory as a "virtual constructor": its creation method returns an interface type, but you can ask it to create any number of different implementations as needed . method needs to be annotated with @override, in java, the most popular use of factory pattern is DAO factory.

an example of such is :

public class UserDAOFactory {

public static UserDAO getUserDAO(String type) {

if (type.equalsIgnoreCase("jdbc")) {

return new JDBCUserrDAOImpl();

} else {

return new OtherUserDAOImpl();

}

}

}

DAO Pattern

MVC - The most widely used pattern in J2EE platform. An example of how to use MVC in SpringFramework to validate front page data.http://maestric.com/doc/java/spring/form_validation

A more deep example of explaining Controller in SpringFramework MVC.http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html