Low-code (9) Post-design of low-code platform 1: model-driven

Let's take a look at the basic structure of a car, which is composed of multiple parts such as the body, engine, and steering wheel. Because it is an industrial product, it exists in kind and can be touched and seen, so it is easy for everyone to understand. How Toyota Motor in Japan achieves automated assembly line production essentially defines the xBOM of the product very clearly and is fully structured so that it can use digital technology to produce automotive products.
insert image description here

The software system also has components, but compared with the car, the software system is more abstract and difficult to understand. However, if you want to develop an application system in a low-code/zero-code way, you must abstract the components of the application system and disassemble it layer by layer. , until the smallest element is actually a product structure tree BOM. Conversely, if each smallest element can be developed visually by dragging and dropping, and then these elements can be combined through configuration, it will meet the requirements of low-code platform development.
insert image description here

From the above analysis, it can be concluded that we need to implement application assembly, so we need to dissect a software system, usually breaking down the system into capabilities, capabilities into modules, modules into functions, and functions into atomic capabilities , components, api.

Model-driven is a software development method that uses a series of model design, mapping, reference, and conversion to drive the software engineering process of software requirements, design, and implementation.
At present, some low-codes use model-driven, and some low-codes are trying to drive, but I personally feel that model-driven is easier to integrate and integrate with professional development, so the model-driven platform is adopted by the Hydrogen platform.

insert image description here
The benefits of model-driven can be roughly summarized as follows:

  • Model accumulation and reuse, models can be imported and exported, and models can be shared, which is more reusable than code;
  • Use models to abstract from lower-level code, allowing everyone on the team, including technical and business professionals, to focus on higher-level concepts and solutions;
  • It is more appropriate to the traditional programming thinking of programmers, and it is convenient for professional developers to develop and expand.

Since model-driven is adopted, the corresponding core module functions are as follows:
1. Domain modeling: the front desk defines domain objects through the interface, defines domain field attributes and types, and the background dynamically builds and modifies tables according to the definition information.
insert image description here

2. Unique constraint: It can be established through id, or based on the unique constraint of the business.
insert image description here

3. Sorting out domain entity relationships: such as tree entities, process entities, and common entities, which fields need to be prefabricated? In fact, this requires a certain amount of development experience and development accumulation.

insert image description here

4. Field type setting: The field type can be set according to the database type, or it can be set according to the view display type, but the platform adopts the view type for better operation. Can reduce the difficulty of user interface assembly.

insert image description here

5. Data storage, because there is a large amount of description data in the low code, and performance must be guaranteed, so the storage method of redis or es should be used.
6. If the source code driver is used, the source code needs to be generated according to the domain model, and then CI/CD is triggered.
7. If the zero-code driver is used, a set of standard engine APIs needs to be provided, which can directly perform CRUD-related operations on domain objects.
insert image description here

Guess you like

Origin blog.csdn.net/weiyongliang_813/article/details/130296012