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? 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.
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 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.
I am a professional software developer. I hold a B.Sc in Business Information Technology with First Class Honours from the University of Greenwich.
Throughout my career, I've designed and developed software for a number of different industries, I've written about software development, and I've lead and mentored development teams. I am passionate about software development, craftsmanship, efficient and effective development processes, team culture, and continuous learning.