Design Patterns

Design Patterns news, information, and how-to advice

Java Tip: Write an SOA integration layer with Apache Camel

Use Apache Camel's Multicast and Aggregator pattern implementations to develop a quick-and-easy integration layer for a service-oriented architecture.

$200K for a computer science degree? Or these free online classes?

If you do the work, you can get a computer science education online rivaling that of the Ivy League. Here's a nice little curriculum for you.

Java Tip: Orthogonality by example

Orthogonality is a concept often used to describe modular and maintainable software, but it's also a design principle found (and broken) in some of our most popular Java utilities. With this short article you'll wrap your head around...

Java 101: Catching up with the Java Date and Time API

Find out how the Java Date and Time API addresses the need for a more robust date and time infrastructure in Java SE, then familiarize yourself with the java.time classes you're most likely to use, in this inaugural installment of...

Design patterns, the big picture, Part 3: Beyond software design patterns

Find out how interaction designers, software architects, and agile development teams use design patterns to improve software development processes and products.

Design patterns, the big picture, Part 2: Gang-of-four classics revisited

Jeff Friesen revisits the Gang of Four Strategy and Visitor patterns from a Java developer's perspective, first demonstrating the three components of a successful Strategy, then unpacking Visitor's confounding (for many) double...

Design patterns, the big picture, Part 1: Design pattern history and classification

Jeff Friesen's three-part introduction takes a wide-angle view of design patterns. Part 1 introduces the concept and use of design patterns and walks through a process of evaluating the Composite pattern for a particular Java use...

Learn Scala with Specs2 Spring

Using Specs2 Spring to test your Java apps is one way to start learning Scala's object-functional programming patterns, without leaving the Spring framework or tossing out perfectly good Java code.

11 programming trends to watch

Whether you're banging out Cobol or hacking Node.js, keeping an eye on programming trends is key to staying competitive in an ever-shifting job market. Peter Wayner sorts the debris from the diamonds in this look at 11 tools and...

Tough tests flunk good programmer job candidates

Quizzes and brain-teasers are useful in evaluating potential software development hires, but don't take them too far.

Java Tip: When to use ForkJoinPool vs ExecutorService

This Java Tip demonstrates the performance impact of replacing the Java 6 ExecutorService class with Java 7's ForkJoinPool.

Mastering Spring MVC

If you like the Spring Framework, you'll want to explore Spring MVC for Web development. With Steven Haines as your guide, learn where Spring MVC fits into the Java Web development landscape (including a little bit of Java history),...

Lean service architectures with Java EE 6

Thanks to Java EE 6's simplified development model, a few interfaces and annotated classes are all you need to implement the facade, the service, and the domain structure that constitute a lean service-oriented architecture....

Lamport's one-time password algorithm (or, don't talk to complete strangers!)

The Lamport algorithm provides an elegant scheme for generating and applying one-time passwords, or OTP. Find out how Lamport works, then see it in action with an OTP reference implementation for an extensible, Java-based library.

Building cloud-ready, multicore-friendly applications, Part 1: Design principles

Atomicity, statelessness, idempotence, and parallelism: that's your ticket to code that's ready for both modern multicore chips and the future of distributed -- or cloud -- computing. Appistry engineer Guerry Semones introduces these...

The PathProxy pattern: Persisting complex associations

Matthew Tyson is back with another of his highly useful design patterns. Learn the ins and outs of the PathProxy pattern, which makes it easier to persist complex relationships without a proliferation of lookup tables.

The AjaxComponent strategy for JSF: The best of both worlds

If you're looking to add Ajax functionality to your JSF applications, the AjaxComponent strategy provides the simplicity of a component and the power of a phase listener.

Exceptions for action

Is your code overloaded with exceptions? Get some guidelines for writing efficient, reusable exceptions that minimize processing overhead without leaving users or sysadmins in the dark.

REST easy with the JavaBeans Activation Framework

Find out what makes the JavaBeans Activation Framework a perfect vehicle for RESTful data transmission, then put JAF to work in a sample Web application that tracks requests and responses through a Java Servlet-based system.

Add dynamic Java code to your application

Did you ever wish your Java code could be dynamic like JavaServer Pages? That it could be modified and recompiled at runtime, with your application updating itself on the fly? This article shows you how to make your code dynamic. As...

Load More