diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199265314.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199265314.png" new file mode 100644 index 0000000..55da3d8 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199265314.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199299683.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199299683.png" new file mode 100644 index 0000000..16d02aa Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199299683.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199320462.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199320462.png" new file mode 100644 index 0000000..b5863c6 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199320462.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199778632.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199778632.png" new file mode 100644 index 0000000..fac8365 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199778632.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199811877.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199811877.png" new file mode 100644 index 0000000..1293704 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199811877.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199819784.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199819784.png" new file mode 100644 index 0000000..55b60c5 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199819784.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199955797.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199955797.png" new file mode 100644 index 0000000..9bdaee2 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199955797.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199968098.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199968098.png" new file mode 100644 index 0000000..199d69f Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199968098.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199989242.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199989242.png" new file mode 100644 index 0000000..1c82932 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702199989242.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200100855.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200100855.png" new file mode 100644 index 0000000..2bdc42c Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200100855.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200573002.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200573002.png" new file mode 100644 index 0000000..2be5b5c Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200573002.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200830581.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200830581.png" new file mode 100644 index 0000000..3538a5c Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200830581.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200839889.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200839889.png" new file mode 100644 index 0000000..3538a5c Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200839889.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200927644.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200927644.png" new file mode 100644 index 0000000..80ca9dd Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702200927644.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201007093.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201007093.png" new file mode 100644 index 0000000..9b553ef Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201007093.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201220196.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201220196.png" new file mode 100644 index 0000000..10ff388 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201220196.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201237305.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201237305.png" new file mode 100644 index 0000000..9d12d0a Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702201237305.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202102986.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202102986.png" new file mode 100644 index 0000000..507c301 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202102986.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202136736.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202136736.png" new file mode 100644 index 0000000..d47cf60 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202136736.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202185998.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202185998.png" new file mode 100644 index 0000000..75d4784 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202185998.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202251348.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202251348.png" new file mode 100644 index 0000000..104cd64 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202251348.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202353571.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202353571.png" new file mode 100644 index 0000000..c0c235b Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202353571.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202372380.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202372380.png" new file mode 100644 index 0000000..e384f4c Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202372380.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202511502.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202511502.png" new file mode 100644 index 0000000..bd55895 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202511502.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202540222.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202540222.png" new file mode 100644 index 0000000..cf8f5ab Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702202540222.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203283390.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203283390.png" new file mode 100644 index 0000000..0365c40 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203283390.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203369383.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203369383.png" new file mode 100644 index 0000000..0dab719 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203369383.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203421595.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203421595.png" new file mode 100644 index 0000000..159ca12 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203421595.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203465353.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203465353.png" new file mode 100644 index 0000000..45acdc9 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203465353.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203558984.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203558984.png" new file mode 100644 index 0000000..bcfdfed Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203558984.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203675764.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203675764.png" new file mode 100644 index 0000000..9543e36 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203675764.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203692092.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203692092.png" new file mode 100644 index 0000000..89110b0 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203692092.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203775583.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203775583.png" new file mode 100644 index 0000000..e32d6b0 Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203775583.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203808499.png" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203808499.png" new file mode 100644 index 0000000..edad97d Binary files /dev/null and "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/images/1702203808499.png" differ diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md" index 8a3934c..9c0b8f9 100644 --- "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md" +++ "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md" @@ -1 +1,103 @@ -# 快速入门 \ No newline at end of file +# 领域建模 + +本文描述系统架构师创建反映业务领域的概念模型,与领域专家合作以确保模型准确反映业务实体和关系,如何构建领域模型,对具体的业务场景进行架构设计 + + + +## 操作步骤 + +- 需求资料分析与记录 +- 产品愿景 +- 统一语言 +- 领域模型 +- 查询模型 +- 数据模型 +- 对象结构映射 + + + +## 需求资料分析与记录 + +> 描述:收集、整理、记录用户需求和系统功能需求的文档,它对于软件开发过程起着指导、衡量和验证作用,以及软件设计的思路,解决方案等信息 + +详情请参见:[需求资料](../../操作指南/业务建模平台/业务域建模/需求文档.md) + +具体信息的记录,按实际情况而定, 如请假系统中,记录了请假的用户故事的用例分析 + +![1702199265314](images/1702199265314.png) + + + +## 产品愿景 + +> 描述:产品愿景是对于产品发展方向和目标的总体概述,它阐述了产品应该是什么、为什么存在、为谁服务、带来什么价值。 + + + +![1702199299683](images/1702199299683.png) + +## 统一语言 + +> 描述:为了协调团队成员(包括开发人员、客户、领域专家等)对于业务领域的理解而共同制定的该领域内的术语和表达方式; + +![1702199320462](images/1702199320462.png) + +## 领域模型 + +> 描述:为了协调团队成员(包括开发人员、测试、领域专家等)对于业务领域的理解而共同制定的该领域内的模型; 它描述了当前业务领域提供哪些业务原子能力; + +详细步骤如: + +- 分析场景过程的全生命周期流程, 列出关键节点,作为命令的方式显示(抽象能力接口) +- 对每一个关键节点进行分析,分析规则以及约束点 +- 基于以上的规则和约束, 推断出 需要输入的参数,作为命令的参数 +- 推断需要实现以上的规则和约束,需要什么样的数据结构和服务 +- 设计承载以上数据结构的聚合根 +- 拆分实体和值对象,枚举 + + + +### 分析场景过程的全生命周期流程, 列出关键节点,作为命令的方式显示(抽象能力接口) + +![1702199955797](images/1702199955797.png) + +### 对每一个关键节点进行分析,分析规则以及约束点 + +![1702199968098](images/1702199968098.png) + +### 基于以上的规则和约束, 推断出 需要输入的参数,作为命令的参数 + +![1702199989242](images/1702199989242.png) + +### 推断需要实现以上的规则和约束,需要什么样的数据结构和服务 + +### 设计承载以上数据结构的聚合根 + +### 拆分实体和值对象,枚举 + +![1702200100855](images/1702200100855.png) + + + +## 查询模型 + +> 描述:描述当前业务领域下包含的查询原子能力,对应一个查询器; + +查询器,可应用于,对外接口的展示,UI 的显示等 + +![1702199778632](images/1702199778632.png) + +## 数据模型 + +> 描述:数据模型即数据存储模型,是数据的最终存储结构;提高系统的数据质量、性能和可维护性; + +![1702199811877](images/1702199811877.png) + +## 对象结构映射 + +> 描述:描述当前业务领域下实体对象之间的字段映射关系;对应代码中的Convert转换器; + + + + +![1702199819784](images/1702199819784.png) \ No newline at end of file diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md" index 8a3934c..6ce1cab 100644 --- "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md" +++ "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md" @@ -1 +1,72 @@ -# 快速入门 \ No newline at end of file +# 模型即代码 + +本文描述如何通过模型转换成为代码,直接生成即可运行,可以直接与前端进行联调,只要直接部署到开发环境即可。 + +## 操作步骤 + +- 使用idea插件生成代码 +- 代码的结构 +- swagger 测试 + +### 使用idea插件生成代码 + +- 具体请参见 [IDIA插件集成](../../操作指南/应用开发平台/IDEA插件集成.md) + +### 代码的架构 + +- cola 架构 + +- adapter + + - 按业务域进行分包 + + - 按业务场景进行分包 + - 存在的`api`接口 + + + + **按业务域进行分包** + + - 请假 + - 审批规则 + + ![1702202102986](images/1702202102986.png) + + **按业务场景进行分包** + + - 请假场景 + - 审批场景 + + ![1702202136736](images/1702202136736.png) + + **标注化代码生成** + + ![1702202185998](images/1702202185998.png) + + + +- app + + - 业务场景的应用服务 + + ![1702202251348](images/1702202251348.png) + + - 业务与的应用服务 + + ![1702202353571](images/1702202353571.png) + +- client + +![1702202372380](images/1702202372380.png) + +- domain + +![1702202511502](images/1702202511502.png) + +- infrastructure + +![1702202540222](images/1702202540222.png) + +### swagger 测试 + +运行即显示swagger 地址进行测试。可直接链接数据库 \ No newline at end of file diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md" index 8a3934c..4e22f25 100644 --- "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md" +++ "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md" @@ -1 +1,57 @@ -# 快速入门 \ No newline at end of file +# AI辅助编码 + +本文介绍,在使用 `模型即代码` 生成结构性代码之后,在基于此通过AI辅助编码, 让开发人员具有更高的效率和质量 + +## 操作步骤 + +- 下载chatbot 插件 +- 生成单元测试 +- AI 读代码 +- AI 代码审核 +- chatbot 的应用 + +### 下载chatbot 插件 + +- 在插件市场寻找到插件 + +![1702203283390](images/1702203283390.png) + +### 生成单元测试 + +- 方式一: 选择要生成的单元测试的类,右键: + + ![1702203369383](images/1702203369383.png) + - ·生成结果: + +​ ![1702203558984](images/1702203558984.png) + +- 选中代码-右键单元测试,则生成指定代码的单元测试 + + ![1702203421595](images/1702203421595.png) + + - 生成的结果 + +​ ![1702203465353](images/1702203465353.png) + +### AI 读代码 + +> 经常应用与对源代码的阅读,对复杂代码阅读 + +- 启动,右键选择要读的代码 + + ![1702203692092](images/1702203692092.png) + +- 输出结果 + + ![1702203675764](images/1702203675764.png) + +### AI 代码审核 + +![1702203775583](images/1702203775583.png) + +### chatbot 的应用 + +- 算法,以及规则性代码 + + ![1702203808499](images/1702203808499.png) + diff --git "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md" "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md" index 8a3934c..c786929 100644 --- "a/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md" +++ "b/docs/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md" @@ -1 +1,59 @@ -# 快速入门 \ No newline at end of file +# 设计评审与校验 + +本文描述 在领域模型设计完成之后,在项目的概关键角色人员对,设计的进行回顾评审与校验,以便于确认大家都对需求,设计都达成一致 + +## 操作步骤 + +- 业务场景的文档评审 +- 领域模型文档的评审 + +- 业务域设计文档的评审 +- 应用的文档评审 + + + +### 业务场景的文档评审 + +> 在业务场景层面达成一致, 关联人员: 业务,产品, 架构师, 开发人员, 测试 + +- 概览图 + - 表示与内部系统,与外部系统的链接 +- 流程图 + - 表示内部业务节点与角色之间的协同关系 + +![1702200573002](images/1702200573002.png) + +### 领域模型文档的评审 + +> 包含了,查询模型, 数据模型, 聚合 之间的关系的检查与补充- + +- 识别有多少个领域对象, 以及领域对象之间的关系 + + ![1702200839889](images/1702200839889.png) + + + +### 业务域设计文档的评审 + +> 包含了,对这个业务模块的整体的设计思路,目标愿景, 模型图,接口 等的评审 + +- 打开文档 + + ![1702200927644](images/1702200927644.png) + +* 文档明细 + + +![1702201007093](images/1702201007093.png) + + + +### 应用的文档评审 + +> 应用文档是针对于多个业务文档和业务场景文档的集合,一个应用一般等于一个限界上下文 + +![1702201220196](images/1702201220196.png) + +文档明细 + +![1702201237305](images/1702201237305.png) \ No newline at end of file