??
Let's take a look at my personal opinions on the two terms below:
The architecture of almost every software system is different, because the first step of the software architecture is to make technical decisions based on the important requirements and constraints of the current project.
It can be divided into industry frameworks and general frameworks.
-
- The general framework is a set of modules (bottom layer + top layer) commonly used in most software projects for encapsulation (Hotspot exposure at the same time), which can improve the development speed and quality.
- The industry framework is a collection of similar domain logic extracted for encapsulation (Hotspot exposure at the same time) for a specific domain, which can improve the development speed and quality.
- The industrial framework can be based on a general framework.
From the architect's point of view, architecture-oriented development will gradually evolve into framework-oriented development (due to reuse and developer-friendly API features)
- Scalability: generally refers to horizontal scaling at the machine level, such as horizontal scaling of web servers, read/write splitting of databases, and horizontal scaling of middleware.
- Scalability: whether the system can be easily modified or expanded when the demand changes.
- Conciseness: the direct concept is AOP, because AOP enables developers to focus on business logic, without too much consideration for non-business logic code (such as basic verification of logs, permissions, parameters, etc)
- Performance: It depends on scalability, algorithm optimization, and CPU utilization.
Because each project is different, most of the architectures are also different. However, due to limited energy, it is impossible to be proficient in everything. Therefore, after the architecture is initialized
The architecture also requires architecture verification (like the BVT of the tester ). Therefore, for architects, individual learning ability, learning speed, and practical ability are very important. So how to verify the architecture?
1. Find several developers to review the API provided by the review framework and check the feedback. Modify the API if necessary, or solve the problem through technical training.
2. Use AOP technology to insert necessary logs, performance counters, and memory usage (of course, other technologies can be used, not only AOP technology)
3. Perform performance testing and performance analysis on your own, or contact a technical tester.
Finally, don't forget to provide technical training before the project starts to explain the implementation principles of the framework and how to use it.
To sum up, the quality of the framework and architecture will seriously affect the efficiency of users. For example, the development efficiency of developers is of great responsibility to architects.
Attach an Architecture Overview diagram:
Welcome to discuss with us.
[System architecture] discussion: Architecture, framework, and architect