This course will teach you important techniques of object-oriented design that help develop highly flexible and maintainable designs, even in the most complex business domains. Your code will never look the same again after watching this course.
Procedural implementation is hurting flexibility and maintainability of code to such an extent that further development often becomes nearly impossible. In this course, Mastering Object-oriented Programming in Java, you’ll develop skills to help you design truly object-oriented code when modeling complex and convoluted business logic. First, you’ll learn the power of streams as a replacement for explicit loops and branching, and how they can be turned more readable and easier to manage. Next, you’ll discover the realm of fluent interface designs, that will help construct composable domain-related code. Finally, you'll explore alternatives to hard-coded decisions with the Rules design pattern. By the end of this course, you will gain insight on how rules can become composable and flexible, taming even the scariest pieces of domain logic.
Course Overview Hi everyone. My name is Zoran Horvat, and welcome to my course, Mastering Object-oriented Programming in Java. I am a principle consultant at Coding Helmet. For 20 years, I have been developing object-oriented software, and in this course, I plan to share some of that experience with you. Be advised that this course is a continuation of the Making your Java Code More Object-oriented course. You should be familiar with techniques covered in that prior course before beginning, avoiding branching in favor of polymorphic calls, avoiding nulls, modeling optional objects. If you have no second thoughts about those concepts, then we can start. In this course, we are going to eliminate loops and replace them with streams, compose complex behavior, eliminate multiway branching, enums, and similar abominations and model domain rules as composable objects. By the end of this course, you will feel comfortable designing detailed object models, even the most complex ones. I hope you'll join me on this journey to learn some interesting modeling and programming techniques with the Mastering Object-oriented Programming in Java course, at Pluralsight.