Evolve your Data Model with Aliases, Brand Types and Value Objects

Tomasz Ducin
InstructorTomasz Ducin
Share this video with your friends

Social Share Links

Send Tweet
Published 6 months ago
Updated 2 months ago

Now that you've learned the basic principles of domain driven design, you will need to evaluate your codebase and see what patterns make sense for you.

Aliases, Brand Types, and Value Objects go a long way to bringing more type-safety to your application while consolidating the sources of truth that your application has.

[00:00] When designing data model for your domain, start with identifying the pieces that could change in the future. Create appropriate type aliases for them and use them consistently. In the worst case scenario, if they don't change in the future, you have just created one additional line of code. However, [00:19] if they do change, you'll have one single source of truth, one place to change, and you can either reduce the type compatibility across the types and other primitives, or if you want to additionally limit the available operations, then you can evolve a brand type into a value [00:39] object.