Junior — Middle
How do you evaluate the importance of team interaction in the workflow?
sobes.tech AI
Answer from AI
The domain complexity is the complexity that arises from the subject area itself, which the system is designed to solve. It reflects real business requirements, rules, and logic that need to be implemented. For example, complex financial calculations, tax rules, medical data handling.
The added complexity is the additional complexity caused by technical decisions, architecture, tools, or poor design. It is not directly related to business logic but arises from excessive dependencies, complex patterns, poor code readability, or over-abstraction.
Example:
- Implementing complex discount calculation rules is domain complexity.
- Writing the code for these rules in a confusing way with many unnecessary inheritance levels and complex patterns is added complexity.
The goal of design is to minimize added complexity to focus on solving real domain problems.