In this article, we will concentrate about some interesting courses that we need to learn to improve our coding quality.
Let’s get started.
Table of contents
Courses about Clean code
-
Java: Writing Readable and Maintainable Code by Andrejs Doronins
-
Working with Nulls in Java by Esteban Herrera
This course offers some ways to get rid of Null in Java.
- Using annotations
- Null Object Pattern
- Optional
Courses about Principles
Courses about Design patterns
-
Implementing Design Patterns Using Java 8 Lambda by Jose Paumard
-
Mastering Object-oriented Programming in Java by Zoran Horvat
This course is very good to organize our classes in the project.
We have the table of content of this course:
-
Staying Focused on Domain Logic with Streams
It will talk about the problem of loop, understanding aggregation functions, generalizing selection of a single object, and generalizing the stream of objects.
-
Untangling Operations from Structure on Business Data
It introduces about composite objects, and its limitations, design functions that support composition, make the composition algorithm explicit.
-
Advancing to a Domain - Specific Language
-
Increasing Flexibility by Removing Enums and Switch Statements
-
Turning Chained Branching into the Chain of Rule Objects
-
-
Patterns for Building Distributed Systems for The Enterprise by Michael Perry
This course will cover about some architecture patterns such as Domain Driven Design, CQRS, Service Bus.
-
Java: Refactoring to Design Patterns
-
Better Object Creation with Factories
-
Eliminating Conditional Complexity
This section will refactor conditional complexity by using Strategy pattern, and functional programming.
-
Improving Interfaces with Wrappers
It talks about some structural patterns such as Adapter, Decorator, and Facade.
-
-
Beside using GoF design patters, we can see some other patterns:
- Event Aggregator
- Lazy Load pattern
- Service Locator pattern
- Unit of Work
- Rules pattern
- Specification pattern
-
Design Patterns On-Ramp by Jeremy Clark
This course will give us the real usage of patterns:
- Observer pattern
- Proxy pattern
- Iterator pattern
- Chain of Responsibility
- Facade pattern
- Factory Method pattern
- Decorator pattern
- Adapter pattern