Mastering Object-oriented Programming in Java

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.
Course info
Level
Intermediate
Updated
Nov 6, 2019
Duration
3h 21m
Table of contents
Course Overview
Turning Everything into Objects
Staying Focused on Domain Logic with Streams
Untangling Operations from Structure on Business Data
Advancing to a Domain - Specific Language
Increasing Flexibility by Removing Enums and Switch Statements
Turning Chained Branching into the Chain of Rule Objects
Refactoring to Bind It All Together
Description
Course info
Level
Intermediate
Updated
Nov 6, 2019
Duration
3h 21m
Description

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.

About the author
About the author

Zoran Horvat is Principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer on .NET technology stack.

More from the author
Making Your Java Code More Object-oriented
Intermediate
2h 13m
Aug 26, 2019
Writing Purely Functional Code in C#
Advanced
4h 15m
May 23, 2018
More courses by Zoran Horvat
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
[Autogenerated] Hi, everyone. My name is Orin Kerr. Attend. Welcome to my course, mastering object oriented programming in Java. I am a principal consultant at Kolding 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 jellicle 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 now's modeling optional objects. If you have no second thoughts about those constants, then we can start in this course. We're going to eliminate loops and replace them with streams, composed, complex behavior. Eliminate multi way branching unions and similar abominations and model the main rules as compose herbal 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 Flora site