Flexibility over time determines where design concepts should live. What changes frequently belongs in the data, while the schema of the data should fix the standard of what never changes. Code changes more easily than schema but less easily than data. UI is easy to change but not as easy as data.
Code should be standardized through interfaces, and CQS separation is important for extension. What's important at the code level is to prevent it from being too easy to extend. Make the architecture not easy to create a similar function that does the same thing. This enables command query separation, and separating mutation and query files is also a good practice.
Common design patterns at Stripe
If you haven’t read the previous article on the importance of design patterns, I suggest you start...
https://dev.to/stripe/common-design-patterns-at-stripe-1hb4

Designing a secure API
Designing a secure API
Designing a secure API: Best Practices Application programming interface or API in general is a bridge that connects two or more programs and it is through this bridge that it is possible to make companies interact, for example, through payment. It is a very generic term that applies from public methods of a framework to integration with microservices.
https://dev.to/vaultree/designing-a-secure-api-4059


Seonglae Cho
