Introduction
Extensions let you add new ways to create objects without changing the original code. This helps keep your code clean and organized.
You want to add a new way to create an object without touching the original class or struct.
You need a shortcut to create an object with some default or calculated values.
You want to keep your initializer code separate for better readability.
You are working with a type from a library and cannot change its original code.