Design Patterns using Kotlin
Description
This course focuses on how to use design patterns in Kotlin, a modern programming language that is gaining popularity among developers. Design patterns are common solutions to software development problems that have
been tried and tested over time. By learning design patterns, developers can improve their code’s efficiency, readability, and maintainability. The course will cover a range of design patterns such as Creational, Structural, and Behavioral patterns, as well as best practices for using these patterns in Kotlin. During the course, students will learn how to identify situations where design patterns can be applied, understand the advantages and disadvantages of each pattern, and implement them in their own code. The course will also cover real-world examples of design patterns used in popular Kotlin libraries and frameworks. The course is suitable for intermediate Kotlin developers who want to improve their coding skills and take their programming to the next level. By the end of the course, students will have a solid understanding of Kotlin design patterns and be able to apply them to their own software development projects.
Course Objectives
• Learn about SOLID Design Principles
• Understand the principles of design patterns and how they can improve code quality.
• Learn common GOF Creational patterns
• Learn common GOF Structural patterns
• Learn common GOF Behavioral patterns
• Understand how to apply these patterns to real-world programming problems in Kotlin.
• Learn about Clean Code Architecture
Duration: 2 days
Pre-Requisites:
Kotlin Language Knowledge
Basic Android SDK Knowledge
1. Software Design and Challenges
2. SOLID Design Principles
2.1. Single Responsibility Principle (SRP)
2.2. Open-Closed Principle (OCP)
2.3. Liskov Substitution Principle (LSP)
2.4. Interface Segregation Principle (ISP)
2.5. Dependency Inversion Principle (DIP)
3. Creational Design Patterns
3.1. Singleton
3.2. Prototype
3.3. Factory
3.4. Abstract Factory
3.5. Builder
3.6. Object Pool
4. Structural Design Patterns
4.1. Adapter
4.2. Bridge
4.3. Composite
4.4. Decorator
4.5. Façade
5. Behavioral Design Patterns
5.1. Chain of Responsibility
5.2. Command
5.3. Observer
5.4. State
5.5. Visitor
5.6. Strategy