4.5 out of 5
51 reviews on Udemy

Fluent API Design – A Crash Course

A crash course on a software architecture approach for creating readable, intuitive, and easy-to-understand code.
Riaan Nel
554 students enrolled
English [Auto-generated]
Understand why API's should be designed well.
Understand the benefits of using Fluent API's.
Learn how to design fluent API's.
Learn how to write intuitive, easy-to-understand code.
Learn how to structure code for excellent readability.
Add new skills to your programming toolbox.

Fluent API Design – Write Good, Clean, Readable Code

Have you ever looked at code that you needed to use, and thought that it could just be so much easier, better, and cleaner?  Have you ever wondered how tools like the Java™ DSL in Apache Camel or the streaming API’s in Java 8 work under the covers?  How you can architect your code to clearly express it’s intent without the need for extensive documentation?  If so, this course is for you!

Throughout the course, we’ll look at what fluent API’s are and how we can design them.  We’ll look at the benefits of fluent API’s, and we’ll see real-world examples in practice.  We’ll also work through examples where we implement our own fluent API’s.  Our examples will be in Java, but the concepts are equally relevant to other object-oriented languages, like C#.

This course is intended to help you become a better programmer, by teaching you how to write code that is incredibly easy to understand.  After all, as programmers, we spend a significant amount of time reading existing code rather than writing new code.  Therefore, the ability to write code that is easy to read and easy to understand is a very important skill for programmers to have.  In this course, I want to help you develop that skill.

Some Review Feedback

“I thought the beginning of the course was quite slow and too much verbiage for the given slides. But once you got into going through code methodologies and showing coding examples, I enjoyed flow very much. I liked the use of video so I could pause in places to analyze the code.”

“For a short course such as this, you get a lot of information to improve your skills. I enjoyed this course and learned some new and useful techniques.”

“This course covers a familiar thought among developers; striving for well-written code, which is 1) easy to read/understand and then 2) easy to amend and build upon with subsequent revisions; essentially demonstrating the benefits of good API design overall. I also appreciated the inclusion of the code examples, which demonstrates the advantages of Fluent API Design in a practical way.”

“I learned about fluent API in a short time. The characteristics of the pattern Builder and reason important for implementing this pattern our own code. Thanks!”

“Great topic, great course, great content.”

“Very well explained material.”

This course includes the option of a 30-day, no-questions-asked refund.


What is an API?

In this lecture, we'll learn what API's are, and what some of the things are that make an API good.

What is a Fluent API?

In this lecture, we'll learn what fluent API's are and what they look like.

Using a Fluent API in Practice

In this lecture, we'll briefly discuss the refactoring exercise that we'll work through in the next lecture.

Setting up Java and IntelliJ IDEA

This lecture will help you to configure a Java development environment that you can use to work through the examples in this course.

Refactoring Test Cases

In this lecture, we'll refactor some JUnit test cases to use Hamcrest - a fluent API.

Designing Fluent API's

Implementing a Fluent API - The Builder Pattern

In this lecture, we'll discuss the next example that we're going to work through - implementing a fluent API by using the Builder design pattern.

Bank Account Management

In this lecture, we'll take some code that has an issue, and we'll address the issue by refactoring the code to make use of the Builder pattern and a fluent API.

More on the Builder Pattern

This lecture includes an article the Builder pattern which students can use to review their understanding of the material covered in the previous lecture.

Implementing a Fluent API -Simple Scheduler

In this lecture, we'll discuss the next example that we're going to work through - using a fluent API to implement a simple scheduler.

Simple Scheduler

In this lecture, we'll use a fluent API to implement a very simple scheduling API.

Implementing a Fluent API - Querying Collections

In this lecture, we'll discuss the next example that we're going to work through - implementing a framework, similar to the LINQ extension methods in C# .NET for operating on collections.

Recap - Generics and Lambdas

This lecture links to further information on generics and lambdas, in case you want to verify your understanding before moving on to the exercise.

Querying Collections

In this lecture, we'll build a fluent API for querying collections.

Querying Collections, Part 2

In this lecture, we'll expand on our fluent API for querying collections.

Query Collections, Sets
API Design Tips

In this lecture, I'll share some tips that you can use when you design your own API's.

Fluent API Design

This quiz will test your understanding of the material covered in this course.



In this final lecture, we'll briefly review what we've learnt during this course.

Complete Code Examples

In this lecture, you can find the full versions of the coding exercises that we worked through during the course.

Bonus Lecture: Discount Coupon

This lecture contains a discounted coupon for my course on SOLID Principles.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.5 out of 5
51 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


1 hours on-demand video
5 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion