In this course, you will learn the art of extending software functionalities without disrupting the existing system or breaking backward compatibility. This course is ideal for software developers seeking to expand their expertise in maintaining project stability, compatibility, and performance, while effectively adding new features.
Overview
Syllabus
- Lesson 1: Backward Compatibility and Versioning in Java
- Enhancing Weather Information System with Versioning
- Enhancing a Shopping Cart with Versioning
- Enhance Logger with Severity Levels
- Enhanced File Reading Utility with Versioning
- Lesson 2: Method Overloading in Java for Backward Compatibility
- Enhancing TaskManager with Urgent Task Handling
- Enhancing the BeverageCreator Class with Optional Parameters
- Enhancing Financial Report Generation with Optional Comparative Analysis
- Enhancing LogRecord Class for Structured Logging
- Lesson 3: Polymorphism in Java for Backward Compatibility
- Enhancing MediaPlayer for WAV File Support
- Enhancing Product Class with Promotional Features
- Extending an Alarm Clock with Polymorphism in Java
- Enhance MediaLibrary with Polymorphism for Multiple Media Types
- Lesson 4: Facade and Adapter Patterns for Backward Compatibility in Java
- Enhancing Payment Processing System with Facade Pattern
- Notification System Adapter Pattern Implementation
- Implementing Facade Pattern for Smart Home System
- Applying Filters to Videos Using the Adapter Pattern
- Lesson 5: Backward Compatibility in Practice with Java
- Upgrading Printer Support for Multiple Content Types
- Extending Weather Service Functionality with Adapter Pattern
- Enhancing ConfigParser with Type-Sensitive Parsing
- Enhancing NotificationService with Support for SMS and Push Notifications