Designing good software is a problem that we all struggle with. How do you craft maintainable software? What are the current best practices that adapt to business needs? When should you apply them?
This expert-led bootcamp course will teach you how to apply best software development practices in terms of object-oriented programming, generics programming, functional programming, testing and design patterns. From the start you will work through hands-on coding and refactoring exercises to demonstrate how to transfer this knowledge into practical Java code. No matter if you’re a recent graduate or an experienced developer this intensive bootcamp will help grow and improve your technical skill set.
Essentials, classes, interfaces and abstract classes, coupling and cohesion, SOLID principles.
Generics and collections
Benefits and motivation, how to use generic classes, how to declare generic classes, advanced generics (variance and generic methods), core collection features, appropriate choice of collections.
Design principles and motivation, strategy, adapter, chain of responsibility, decorator, optional, immutable value objects, observer, factory.
Introduction to automated testing, testing best practices, test doubles: mocks, stubs and fakes, dependency injection, test driven development, page objects and DOM Querying, behavior-driven development.
Behavior parameterization, lambdas and method references, functional interfaces and type inference, functional style data processing with Streams and Collectors