Design Patterns

Design patterns news, information, and how-to advice

java snazzy
marx books

Microservices vs. the monolith

Similar to SOA but different enough to warrant its own name, the Microservices architectural style gets written up by Martin Fowler and James Lewis. Cliffs Notes you can count on!

Java 8's new Optional class: What's the point?

Java programming blogger Hugues Johnson instigates a debate about the new Optional class in Java 8, and whether its monadic operators (like flatMap) are worth all the fuss.

steamy java

A case for keeping primitives in Java

Primitives have been controversial since the early days of Java, and rumor has it that Oracle is considering dropping them in a future version of the JDK. But John Moore argues that Java needs primitives, especially for applications...

What would you do to improve dynamic proxies?

Java's chief language architect wants to know: What would you do to improve dynamic proxies in the Java language?

Open source Java projects: Spring Integration

Use Spring Integration to develop a robust message-passing architecture that integrates and coordinates enterprise components across an ActiveMQ message bus via JMS.

Java 101: The next generation: The essential Java language features tour, Part 3

Get introduced to the last but not least of new features that have improved Java's productivity since JDK 5: Autoboxing and unboxing, the enhanced for loop, static imports, varargs, and covariant return types.

Coding conventions: 9 areas where developers actually agree

Millions of GitHub commits don't lie: find out how your coding habits and pet peeves stack up based on real code written in Java, Python, Ruby, PHP, Scala, C#, and JavaScript.

ObjectStreamClass: Peeking at a Java Object's Serialization

Learn a few tricks for using an ObjectStreamClass to analyze the serialization characteristics of a serialized class loaded in the JVM.

HttpClient basic authentication

Basic authentication with HttpClient 4: A simple use case demonstrates preemptive authorization and how to manually set the Authorization header.

Java programming with lambda expressions

The major new features in Java 8 center around lambda expressions, a functional programming construct that simplifies certain types of programming problems. John Moore demonstrates the power of lambdas by contrasting several...

Horizontal reuse: An alternative to inheritance

Horizontal reuse offers advantages over inheritance in many situations, but not in every language.

Java 101: The next generation: The essential Java language features tour, Part 2

Learn how to use typesafe enums in switch statements, then get started with Java annotations and meta-annotations types like Target, which can clarify the meaning of annotations in your Java code.

Tip

Eric Redmond on design patterns for distributed systems

Basho engineer Eric Redmond discusses the mechanics, patterns, and tradeoffs involved in building distributed systems, based in part on his experience with the NoSQL database Riak.

Object calisthenics: Change the way you code

If you want to sharpen your code, put on your tracksuit and hit the virtual gym. This workout routine is made for programmers.

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.

The full Java life: What does a software architect really do all day?

Software architects have it easy, or so many coders and engineers believe. Find out what an architect's day-to-day working life really looks like in this Full Java life interview. Java programming veteren Bruce Brouwer discusses his...

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

Load More