Result-oriented, practical as the goal, in architectural design, pursuing universal, concise, flexible, committed to providing developers with efficient and easy-to-use development experiences.
Universal: Refers to using mainstream, official, widely adopted or recognized technology stacks and implementation methods as much as possible to avoid unnecessary learning costs.
Concise: Simple and fast. Refers to keeping code and structure simple, fast to use. Minimize mental burden as much as possible, avoid over-design and unnecessary abstraction. Focus on business logic implementation, reduce repetitive code content.
Flexible: We provide conventions and best practices on the basis of universality and simplicity. This is non-invasive. Since we do not target certain design patterns or development habits, developers do not need to be restricted by them.
Note
Any design pattern is not our goal, but they are all means to achieve our goal.
Practices to Avoid
In the design and implementation process, the following practices are not adopted by us:
Based on one or several design patterns, determine the project structure and technology stack.
Over-abstraction, increase complexity, reduce development experience.
Over-encapsulation, reduce flexibility, increase learning and maintenance costs.
Special encapsulation of third-party packages, no longer universal, increase mental burden.