Fluent API Design – A Crash Course
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.
In this lecture, we'll learn what API's are, and what some of the things are that make an API good.
In this lecture, we'll learn what fluent API's are and what they look like.
In this lecture, we'll briefly discuss the refactoring exercise that we'll work through in the next lecture.
This lecture will help you to configure a Java development environment that you can use to work through the examples in this course.
In this lecture, we'll refactor some JUnit test cases to use Hamcrest - a fluent API.
Designing Fluent API's
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.
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.
This lecture includes an article the Builder pattern which students can use to review their understanding of the material covered in the previous lecture.
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.
In this lecture, we'll use a fluent API to implement a very simple scheduling API.
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.
This lecture links to further information on generics and lambdas, in case you want to verify your understanding before moving on to the exercise.
In this lecture, we'll build a fluent API for querying collections.
In this lecture, we'll expand on our fluent API for querying collections.
In this lecture, I'll share some tips that you can use when you design your own API's.
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.
In this lecture, you can find the full versions of the coding exercises that we worked through during the course.
This lecture contains a discounted coupon for my course on SOLID Principles.