±à¼ÍƼö: |
±¾ÎĽ«ÌÖÂÛ΢·þÎñÓë
DDD Éæ¼°µ½µÄ¸ÅÄî¡¢²ß»®ºÍÉè¼Æ·½·¨£¬²¢ÇÒ³¢ÊÔ½«Ò»¸öµ¥ÌåÓ¦Óòð·Ö³É¶à¸ö»ùÓÚ DDD
µÄ΢·þÎñ ¡£
±¾ÎÄÀ´×ÔÓÚ¹«ÖÚºÅInfoQ¼Ü¹¹Í·Ìõ £¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼¡¢ÍƼö¡£ |
|
1
΢·þÎñµÄ¶¨Òå
΢·þÎñÖеġ°Î¢¡±ËäÈ»±íʾ·þÎñµÄ¹æÄ££¬µ«Ëü²¢²»ÊÇʹӦÓóÌÐò³ÉΪ΢·þÎñµÄΨһ±ê×¼¡£µ±ÍŶÓתÏò»ùÓÚ΢·þÎñµÄ¼Ü¹¹Ê±£¬ËûÃǵÄÄ¿±êÊÇÌá¸ßÃô½ÝÐÔ£¬¼´×ÔÖ÷ÇÒÆµ·±µØ²¿Êð¹¦ÄÜ¡£
Òò´Ë£¬ºÜÄѸøÎ¢·þÎñ¼Ü¹¹·ç¸ñÏÂÒ»¸ö¼òµ¥µÄ¶¨Òå¡£ÎÒϲ»¶ Adrian Cockcroft ¹ØÓÚ΢·þÎñµÄ¼ò¶Ì¶¨Ò壺¡°ÃæÏò·þÎñµÄ¼Ü¹¹ÓɾßÓнçÏÞÉÏÏÂÎÄ¡¢ËÉÉ¢ñîºÏµÄÔªËØ×é³É¡£¡±
¾¡¹ÜÕⶨÒåÁËÒ»Öָ߼¶µÄÉè¼ÆÆô·¢Ê½·½·¨£¬µ«Î¢·þÎñ¼Ü¹¹¾ßÓеÄÌØÐÔ£¬Ê¹ÆäÓбðÓÚÒÔÍùµÄÃæÏò·þÎñ¼Ü¹¹¡£¸ù¾ÝÒÔÍùµÄÎÄÕ£¬ÎÒÃÇ×ܽáÁË΢·þÎñ¼Ü¹¹Ó¦¾ß±¸µÄÒ»Ð©ÌØÕ÷£º
·þÎñÒÔÒµÎñÉÏÏÂÎÄΪÖÐÐ͍ÒåÁËÁ¼ºÃµÄ±ß½ç£¬¶ø²»ÊÇÒÔÈÎÒâµÄ¼¼Êõ³éÏóΪÖÐÐÄ£»
Òþ²ØÊµÏÖϸ½Ú£¬²¢Í¨¹ýÒâͼ½Ó¿Ú±©Â¶¹¦ÄÜ£»
·þÎñ²»»á¹²Ïí³¬³öÆä±ß½çµÄÄÚ²¿½á¹¹£¬ÀýÈç²»¹²ÏíÊý¾Ý¿â£»
·þÎñ¾ßÓйÊÕÏ¿ìËÙ»Ö¸´ÄÜÁ¦£»
ÍŶÓÖ°ÄܶÀÁ¢£¬Äܹ»×ÔÖ÷·¢²¼±ä¸ü£»
ÍŶÓÓµ»¤×Ô¶¯»¯ÎÄ»¯£¬ÀýÈç×Ô¶¯»¯²âÊÔ¡¢³ÖÐø¼¯³ÉºÍ³ÖÐø½»¸¶¡£
¼ò¶øÑÔÖ®£¬ÎÒÃÇ¿ÉÒÔ½«ÕâÖּܹ¹·ç¸ñ×ܽáÈçÏ£º
ËÉÉ¢ñîºÏµÄÃæÏò·þÎñµÄ¼Ü¹¹£¬ÆäÖÐÿ¸ö·þÎñ¶¼·â×°ÔÚ¶¨ÒåÁ¼ºÃµÄ½çÏÞÉÏÏÂÎÄÖУ¬Ö§³ÖÓ¦ÓóÌÐò¿ìËÙ¡¢Æµ·±ÇÒ¿É¿¿µÄ½»¸¶¡£
2
ÁìÓòÇý¶¯Éè¼ÆºÍ½çÏÞÉÏÏÂÎÄ
΢·þÎñµÄÇ¿´óÖ®´¦ÔÚÓÚÇåÎúµØ¶¨ÒåÁËËüÃǵÄÖ°Ôð²¢»®¶¨ÁËËüÃÇÖ®¼äµÄ±ß½ç¡£ËüµÄÄ¿µÄÊÇÔڱ߽çÄÚ½¨Á¢¸ßÄÚ¾Û£¬Ôڱ߽çÍ⽨Á¢µÍñîºÏ¡£Ò²¾ÍÊÇ˵£¬ÇãÏòÓÚÒ»Æð¸Ä±äµÄÊÂÎïÓ¦¸Ã·ÅÔÚÒ»Æð¡£ÕýÈçÏÖʵÉú»îÖеÄÐí¶àÎÊÌâÒ»Ñù£¬µ«Õâ˵ÆðÀ´ÈÝÒ××öÆðÀ´ÄÑ£¬ÒµÎñÔÚ²»¶Ï·¢Õ¹£¬ÉèÏëÒ²ËæÖ®¸Ä±ä¡£Òò´Ë£¬Öع¹ÄÜÁ¦ÊÇÉè¼ÆÏµÍ³Ê±¿¼ÂǵÄÁíÒ»Ïî¹Ø¼üÎÊÌâ¡£
ÔÚÎÒÃÇ¿´À´£¬ÁìÓòÇý¶¯Éè¼Æ (DDD) Êǹؼü£¬ËüÊÇÉè¼ÆÎ¢·þÎñʱ±Ø²»¿ÉÉٵŤ¾ß£¬ÎÞÂÛÊǶԵ¥ÌåÓ¦ÓýøÐвð·Ö»¹ÊÇ´ÓÍ·¿ªÊ¼¹¹½¨Ò»¸öÐÂÏîÄ¿¡£ÁìÓòÇý¶¯Éè¼ÆÒò
Eric Evans µÄÖø×÷¶ø³öÃû£¬ËüÊÇÒ»×é˼Ïë¡¢ÔÔòºÍģʽ£¬¿ÉÒÔ°ïÖúÎÒÃÇ»ùÓÚÒµÎñÁìÓòµÄµ×²ãÄ£ÐÍÉè¼ÆÈí¼þϵͳ¡£¿ª·¢ÈËÔ±ºÍÁìÓòר¼ÒÒ»ÆðʹÓÃͳһµÄͨÓÃÓïÑÔ´´½¨ÒµÎñÄ£ÐÍ¡£È»ºó½«ÕâЩģÐͰ󶨵½ÓÐÒâÒåµÄϵͳÉÏ£¬ÔÚÕâЩϵͳºÍ´¦ÀíÕâЩ·þÎñµÄÍŶÓÖ®¼ä½¨Á¢Ð×÷ÐÒé¡£¸üÖØÒªµÄÊÇ£¬ËüÃÇÉè¼ÆÁËϵͳ֮¼äµÄ¸ÅÄîÂÖÀª»ò±ß½ç¡£
΢·þÎñÉè¼Æ´ÓÕâЩ¸ÅÄîÖм³È¡ÁËÁé¸Ð£¬ÒòΪËùÓÐÕâЩÔÀí¶¼ÓÐÖúÓÚ¹¹½¨¿ÉÒÔ¶ÀÁ¢±ä¸üºÍ·¢Õ¹µÄÄ£¿é»¯ÏµÍ³¡£
ÔÚ¼ÌÐøÉîÈë֮ǰ£¬ÈÃÎÒÃÇ¿ìËÙä¯ÀÀһϠDDD µÄһЩ»ù±¾ÊõÓï¡£¶ÔÁìÓòÇý¶¯Éè¼ÆµÄÍêÕû¸ÅÊö²»ÔÚ±¾ÎĵÄÌÖÂÛ·¶Î§Ö®ÄÚ¡£
ÁìÓò£¨Domain£©£º ´ú±í×éÖ¯Ëù×öµÄ¹¤×÷¡£ÀýÈçÁãÊÛ»òµç×ÓÉÌÎñ¡£
×ÓÓò£¨Subdomain£©£º ×éÖ¯»ò×éÖ¯ÄÚµÄÒµÎñ²¿ÃÅ¡£Ò»¸öÁìÓòÓɶà¸ö×ÓÓò×é³É¡£
ͳһÓïÑÔ£¨Ubiquitous language£©£ºÕâÊÇÓÃÓÚ±í´ïÄ£Ð͵ÄÓïÑÔ¡£ÔÚÏÂÃæµÄÀý×ÓÖУ¨Í¼ 1£©£¬Item
ÊÇÒ»¸öÄ£ÐÍ£¬ËüÊÇÿ¸ö×ÓÓòµÄͳһÓïÑÔ¡£¿ª·¢ÈËÔ±¡¢²úÆ·¾Àí¡¢ÁìÓòר¼ÒºÍÒµÎñ¸÷ÉæÖÚ·½¶¼ÄܾÍʹÓÃÕâÖÖÓïÑÔ´ï³ÉÒ»Ö£¬²¢ÔÚËûÃǵŤ¼þ£¨´úÂë¡¢²úÆ·ÎĵµµÈ£©ÖÐʹÓøÃÓïÑÔ¡£

ͼ 1£ºµç×ÓÉÌÎñÁìÓòÖеÄ×ÓÓòºÍ½çÏÞÉÏÏÂÎÄ
½çÏÞÉÏÏÂÎÄ£¨Bounded Contexts£©£ºÁìÓòÇý¶¯Éè¼Æ½«½çÏÞÉÏÏÂÎ͍ÒåΪ¡°Ò»¸öµ¥´Ê»òÓï¾ä³öÏÖʱȷ¶¨Æäº¬ÒåµÄÉèÖᱡ£¼ò¶øÑÔÖ®£¬ÕâÒâζ×ÅÄ£ÐÍÔڱ߽çÄÚÊÇÓк¬ÒåµÄ¡£ÔÚÉÏÃæµÄÀý×ÓÖУ¨Í¼
1£©£¬¡°Item¡±ÔÚÿ¸öÉÏÏÂÎÄÖж¼Óв»Í¬µÄº¬Òå¡£ÔÚ Catalog ÉÏÏÂÎÄÖУ¬Item ±íʾ¿É³öÊ۵IJúÆ·£¬¶øÔÚ
Cart ÉÏÏÂÎÄÖУ¬Ëü±íʾ¿Í»§ÒÑÌí¼Óµ½¹ºÎï³µÖеÄÉÌÆ·Ñ¡Ïî¡£ÔÚ Fulfillment ÉÏÏÂÎÄÖУ¬Ëü±íʾ½«ÒªÔËË͸ø¿Í»§µÄ²Ö¿âÎïÁÏ¡£ÕâЩģÐ͸÷²»Ïàͬ£¬Ã¿¸öÄ£ÐͶ¼Óв»Í¬µÄº¬Ò壬²¢ÇÒ¿ÉÄܰüº¬²»Í¬µÄÊôÐÔ¡£Í¨¹ý½«ÕâЩģÐÍ·ÖÀë²¢½«Æä¸ôÀëÔÚ¸÷×Եı߽çÄÚ£¬ÎÒÃǾͿÉÒÔ×ÔÓɵرí´ïÕâЩģÐÍ£¬¶ø²»»á²úÉúÆçÒå¡£
×¢Ò⣺ ±ØÐëÀí½â×ÓÓòºÍ½çÏÞÉÏÏÂÎÄÖ®¼äµÄÇø±ð¡£×ÓÓòÊôÓÚÎÊÌâ¿Õ¼ä£¬¼´ÎÒÃǵÄÒµÎñÒªÈçºÎ¿´´ýÎÊÌ⣬¶ø½çÏÞÉÏÏÂÎÄÊôÓÚ½â¾ö·½°¸¿Õ¼ä£¬¼´ÎÒÃǽ«ÈçºÎʵʩÎÊÌâµÄ½â¾ö·½°¸¡£ÀíÂÛÉÏ£¬Ã¿¸ö×ÓÓò¿ÉÄÜÓжà¸ö½çÏÞÉÏÏÂÎÄ£¬¾¡¹ÜÎÒÃÇŬÁ¦Ã¿¸ö×ÓÓòÖ»Ìṩһ¸ö½çÏÞÉÏÏÂÎÄ¡£
3
΢·þÎñºÍ½çÏÞÉÏÏÂÎÄÈçºÎ¹ØÁª
ÏÖÔÚ£¬Î¢·þÎñÊÊÓÃÓÚÄÄЩµØ·½£¿Ã¿¸ö½çÏÞÉÏÏÂÎͼÄÜÓ³Éäµ½¶ÔÓ¦µÄ΢·þÎñÂ𣿲»Ò»¶¨¡£ÎÒÃÇÀ´¿´¿´ÔÒò¡£ÔÚijЩÇé¿öÏ£¬½çÏÞÉÏÏÂÎĵı߽ç»òÂÖÀª¿ÉÄÜ»á·Ç³£´ó¡£

ͼ 2£º½çÏÞÉÏÏÂÎĺÍ΢·þÎñ
¿¼ÂÇÉÏÃæµÄÀý×Ó¡£¶¨¼Û½çÏÞÉÏÏÂÎÄÓÐÈý¸ö²»Í¬µÄÄ£ÐÍ£º¼Û¸ñ£¨Price£©¡¢¶¨¼ÛÏPriced items)
ºÍÕÛ¿Û£¨Discounts£©£¬·Ö±ð¸ºÔðĿ¼ÏîµÄ¼Û¸ñ¡¢¼ÆËãÁбíÏîµÄ×ܼÛÒÔ¼°¸÷×ÔʹÓõÄÕÛ¿Û¡£ÎÒÃÇ¿ÉÒÔ´´½¨Ò»¸ö°üº¬ÉÏÊöËùÓÐÄ£Ð͵ĵ¥Ò»ÏµÍ³£¬µ«Ëü¿ÉÄÜÊÇÒ»¸ö²»ºÏÀíµÄ´óÐÍÓ¦ÓóÌÐò¡£ÈçǰËùÊö£¬Ã¿¸öÊý¾ÝÄ£ÐͶ¼ÓÐÆä²»±äÐÔºÍÒµÎñ¹æÔò¡£Ëæ×Åʱ¼äµÄÍÆÒÆ£¬Èç¹ûÎÒÃDz»Ð¡Ðĵϰ£¬Õâ¸öϵͳ¾Í¿ÉÄÜ»á±ä³ÉÒ»¸ö´óÄàÇò£¬½çÏÞÄ£ºý£¬Ö°ÔðÖØµþ£¬ÉõÖÁºÜ¿ÉÄÜ»á»Øµ½ÎÒÃÇ¿ªÊ¼µÄµØ·½¡ª¡ªµ¥ÌåÓ¦Óá£
¶ÔÕâ¸öϵͳ½¨Ä£µÄÁíÒ»ÖÖ·½·¨Êǽ«Ïà¹ØÄ£ÐÍ·ÖÀë»ò·Ö×éµ½µ¥¶ÀµÄ΢·þÎñÖС£ÔÚ DDD ÖУ¬ÕâЩģÐÍ£¨¼Û¸ñ¡¢¶¨¼ÛÏîºÍÕÛ¿Û£©±»³ÆÎª¾ÛºÏ£¨Aggregates£©¡£¾ÛºÏÊÇÓÉÏà¹ØÄ£ÐÍ×é³ÉµÄ×Ô°üº¬Ä£ÐÍ¡£ÎÒÃÇÖ»ÄÜͨ¹ýÒÑ·¢²¼µÄ½Ó¿ÚÀ´±ä¸ü¾ÛºÏµÄ״̬£¬²¢ÇҾۺϿÉÒÔÈ·±£Ò»ÖÂÐÔ£¬¶øÇÒ²»±äÁ¿¿ÉÒÔʼÖÕ±£³ÖÁ¼ºÃ״̬¡£
ÔÚÐÎʽÉÏ£¬¾ÛºÏÊǹØÁª¶ÔÏóµÄ¼¯Èº£¬±»ÊÓΪÊý¾Ý±ä¸üµÄµ¥Ôª¡£ÍⲿÒýÓýöÏÞÓÚÖ¸¶¨¾ÛºÏµÄÒ»¸ö³ÉÔ±£¬¼´¾ÛºÏ¸ù¡£Ôھۺϵı߽çÄÚÐèÓ¦ÓÃÒ»×éÒ»ÖÂÐÔ¹æÔò¡£

ͼ 3£º¶¨¼ÛÉÏÏÂÎÄÖеÄ΢·þÎñ
ͬÑù£¬Ã»ÓбØÒª½«Ã¿¸ö¾ÛºÏ¶¼½¨Ä£ÎªÒ»¸ö²»Í¬µÄ΢·þÎñ¡£ÊÂʵ֤Ã÷£¬Í¼ 3 ÖеķþÎñ£¨¾ÛºÏ£©¾ÍÊÇÈç´Ë£¬µ«Õâ²»Ò»¶¨ÊÇÒ»¸ö¹æÔò¡£ÔÚijЩÇé¿öÏ£¬ÔÚµ¥¸ö·þÎñÖÐÍйܶà¸ö¾ÛºÏ¿ÉÄÜÊÇÓÐÒâÒåµÄ£¬ÌرðÊÇÔÚÎÒÃDz»ÍêÈ«Á˽âÒµÎñÁìÓòµÄÇé¿öÏ¡£ÐèҪעÒâµÄÒ»µãÊÇ£¬Ò»ÖÂÐÔÖ»ÔÚµ¥¸ö¾ÛºÏÖвÅÄܵõ½±£Ö¤£¬²¢ÇÒ¾ÛºÏÖ»ÄÜͨ¹ýÒÑ·¢²¼µÄ½Ó¿Ú½øÐÐÐ޸ġ£ÈκÎÎ¥·´ÕâЩ¹æÔòµÄÐÐΪ¶¼ÓÐÔö¼ÓÓ¦ÓóÌÐò±ä³ÉÒ»¸ö´óÄàÇòµÄ·çÏÕ¡£
4
ÉÏÏÂÎÄÓ³É䣺һÖÖ¾«È·»®·Ö΢·þÎñ±ß½çµÄ·½·¨
ÁíÒ»¸ö»ù±¾¹¤¾ßÊÇÉÏÏÂÎÄÓ³É䣬ͬÑù£¬ËüÒ²ÊÇÀ´×ÔÁìÓòÇý¶¯Éè¼Æ¡£Ò»¸öµ¥ÌåÓ¦ÓÃͨ³£Óɲ»Í¬µÄÄ£ÐÍ×é³É£¬ÕâЩģÐÍ´ó¶àÊǽôÃÜñîºÏµÄ£¬Ä£ÐÍÖ®¼ä¿ÉÄÜÖªµÀ±Ë´ËµÄʵÏÖϸ½Ú£¬±ä¸üÒ»¸öÄ£ÐÍ¿ÉÄÜÔì³ÉÁíÒ»¸öÄ£Ð͵ĸ±×÷Óõȵȡ£µ±Äã·Ö½âµ¥ÌåÓ¦ÓÃʱ£¬È·¶¨ÕâЩģÐÍ£¨ÔÚÕâÀïÊǾۺϣ©¼°Æä¹ØÏµÊÇÖÁ¹ØÖØÒªµÄ¡£ÉÏÏÂÎÄÓ³Éä¿ÉÒÔ°ïÖúÎÒÃÇ×öµ½ÕâÒ»µã¡£ËüÃÇÓÃÓÚʶ±ðºÍ¶¨Òå¸÷ÖÖ½çÏÞÉÏÏÂÎĺ;ۺÏÖ®¼äµÄ¹ØÏµ¡£ÔÚÉÏÃæµÄÀý×ÓÖУ¬½çÏÞÉÏÏÂÎ͍ÒåÁËÄ£Ð͵ı߽磨¼Û¸ñ¡¢Õۿ۵ȵȣ©¡£¶øÉÏÏÂÎÄÓ³É䶨ÒåÁËÕâЩģÐÍÖ®¼äÒÔ¼°²»Í¬ÉÏÏÂÎÄÖ®¼äµÄ¹ØÏµ¡£ÔÚÈ·¶¨ÁËÕâЩÒÀÀµ¹ØÏµÖ®ºó£¬ÎÒÃǾͿÉÒÔÈ·¶¨ÏÂÀ´ÊµÏÖÕâЩ·þÎñµÄÍŶÓÖ®¼äµÄÕýÈ·Ð×÷Ä£ÐÍÁË¡£
¶ÔÉÏÏÂÎÄÓ³ÉäµÄÍêÕû̽Ë÷²»ÔÚ±¾ÎĵÄÌÖÂÛ·¶Î§Ö®ÄÚ£¬µ«ÎÒÃǽ«ÓÃÒ»¸öʾÀýÀ´ËµÃ÷¡£ÏÂͼÏÔʾÁË´¦Àíµç×ÓÉÌÎñ¶©µ¥Ö§¸¶µÄ¸÷ÖÖÓ¦ÓóÌÐò¡£
¹ºÎï³µÉÏÏÂÎĸºÔð¶©µ¥µÄÔÚÏßÊÚȨ£»¶©µ¥ÉÏÏÂÎÄ´¦Àí¶©µ¥ÂÄÐÐÍê³ÉºóµÄÖ§¸¶Á÷³Ì£¬Èç½áË㣻ÁªÂçÖÐÐÄ´¦ÀíÈκÎÒì³£Çé¿ö£¬ÈçÖ§¸¶ÖØÊԺͱä¸ü¶©µ¥Ê¹ÓõÄÖ§¸¶·½Ê½¡£ÎªÁ˼òµ¥Æð¼û£¬ÎÒÃǼÙÉèËùÓÐÕâЩÉÏÏÂÎͼÊÇ×÷Ϊµ¥¶ÀµÄ·þÎñʵÏֵģ¬ËùÓÐÕâЩÉÏÏÂÎÄ·â×°ÁËͬһ¸öÄ£ÐÍ¡£Çë×¢Ò⣬ÕâЩģÐÍÔÚÂß¼ÉÏÊÇÏàͬµÄ¡£Ò²¾ÍÊÇ˵£¬ËüÃǶ¼×ñÑÏàͬµÄͳһÁìÓòÓïÑÔ¡ª¡ªÖ§¸¶·½Ê½¡¢ÊÚȨºÍ½áËã¡£Ö»ÊÇËüÃÇÊDz»Í¬ÉÏÏÂÎĵÄÒ»²¿·Ö¡£
ÁíÒ»¸ö¼£Ïó±íÃ÷£¬Í¬Ò»¸öÄ£ÐÍÔÚ²»Í¬µÄÉÏÏÂÎÄÖд«²¥£¬ËùÓÐÕâЩģÐͶ¼Ö±½ÓÓëµ¥¸öÖ§¸¶Íø¹ØÏ༯³É£¬²¢Çұ˴ËÖ´ÐÐÏàͬµÄ²Ù×÷¡£

ͼ 4£º¶¨Òå´íÎóµÄÉÏÏÂÎÄÓ³Éä
5
ÖØÐ¶¨Òå·þÎñ±ß½ç£º½«¾ÛºÏÓ³Éäµ½ÕýÈ·µÄÉÏÏÂÎÄ
ÔÚÉÏÃæµÄÉè¼ÆÖÐÓÐһЩ·Ç³£Ã÷ÏÔµÄÎÊÌ⣨ͼ 4£©¡£Ö§¸¶¾ÛºÏÊǶà¸öÉÏÏÂÎĵÄÒ»²¿·Ö¡£ÔÚ¸÷ÖÖ·þÎñÖ®¼äÇ¿ÖÆÖ´Ðв»±äÐÔºÍÒ»ÖÂÐÔÊDz»¿ÉÄܵ쬏ü²»ÓÃ˵ÕâЩ·þÎñÖ®¼äµÄ²¢·¢ÎÊÌâÁË¡£ÀýÈ磬Èç¹ûÔÚ¶©µ¥·þÎñ³¢ÊÔ°´Ö®Ç°Ìá½»µÄ¸¶¿î·½Ê½½øÐнáËãµÄ¹ý³ÌÖУ¬ÁªÂçÖÐÐĸü¸ÄÁËÓë¶©µ¥¹ØÁªµÄ¸¶¿î·½Ê½»á·¢ÉúʲôÇé¿ö¡£ÁíÍ⣬Çë×¢Ò⣬֧¸¶Íø¹ØÖеÄÈκθü¸Ä¶¼½«ÆÈʹ¶Ô¶à¸ö·þÎñ½øÐиü¸Ä£¬¿ÉÄÜ»áÉæ¼°µ½¶à¸öÍŶӣ¬ÒòΪËüÃǹ²Í¬ÓµÓÐÕâЩÉÏÏÂÎÄ¡£
ͨ¹ýһЩµ÷Õû²¢½«¾ÛºÏÓëÕýÈ·µÄÉÏÏÂÎÄ¶ÔÆë£¬ÎÒÃǾͿÉÒÔ¸üºÃµØ±íʾÕâЩ×ÓÓòÁË£¨Í¼ 5£©¡£ÐèÒª½øÐкܶàµÄ¸ü¸Ä¡£
ÎÒÃÇÀ´¿´Ï¸ü¸ÄµÄµã£º
Ö§¸¶¾ÛºÏÓÐÁËÒ»¸öмҡª¡ªÖ§¸¶·þÎñ¡£¸Ã·þÎñ»¹´ÓÆäËûÐèÒªÖ§¸¶·þÎñµÄ·þÎñÖÐÌáÈ¡ÁËÖ§¸¶Íø¹Ø¡£ÓÉÓÚµ¥¸ö½çÏÞÉÏÏÂÎÄÏÖÔÚÓµÓÐÁ˵¥¸ö¾ÛºÏ£¬ËùÒÔ²»±äÁ¿ºÜÈÝÒ×¹ÜÀí£»ËùÓÐÊÂÎñ¶¼ÔÚͬһ¸ö·þÎñµÄ±ß½çÄÚ½øÐУ¬´Ó¶ø±ÜÃâÁËÈκβ¢·¢ÎÊÌâ¡£
Ö§¸¶¾ÛºÏʹÓÃÁË·´¸¯²ã£¨ACL£©½«ºËÐÄÁìÓòÄ£ÐÍÓëÖ§¸¶Íø¹ØµÄÊý¾ÝÄ£Ð͸ôÀ뿪À´£¬ºóÕßͨ³£ÊÇÓɵÚÈý·½ÌṩµÄ£¬¿ÉÄܻᷢÉú±ä»¯¡£ÔÚÒÔºóµÄÎÄÕÂÖУ¬ÎÒÃǽ«ÉîÈëÑо¿»ùÓÚ¡°¶Ë¿ÚºÍÊÊÅäÆ÷¡±Ä£Ê½µÄÓ¦ÓóÌÐòÉè¼Æ¡£ACL
²ãͨ³£°üº¬½«Ö§¸¶Íø¹ØµÄÊý¾ÝÄ£ÐÍת»»ÎªÖ§¸¶¾ÛºÏÊý¾ÝÄ£Ð͵ÄÊÊÅäÆ÷¡£
¹ºÎï³µ·þÎñͨ¹ýÖ±½Óµ÷Óà API µÄ·½Ê½À´µ÷ÓÃÖ§¸¶·þÎñ£¬ÒòΪµ±¿Í»§ÔÚÍøÕ¾ÉϹºÎïʱ£¬¹ºÎï³µ·þÎñÐèÒªÍê³ÉÖ§¸¶ÊÚȨ¡£
¼Ç¼¶©µ¥ºÍÖ§¸¶·þÎñÖ®¼äµÄ½»»¥×÷Ó᣶©µ¥·þÎñ·¢³öÒ»¸öÓòʼþ£¨ÉÔºó»áÔÚ±¾ÎÄÖжԴ˽øÐÐÏêϸ½éÉÜ£©¡£Ö§¸¶·þÎñ¼àÌý´Ëʼþ²¢Íê³É¶©µ¥µÄ½áËã
ÁªÂçÖÐÐÄ·þÎñ¿ÉÄÜÓÐÐí¶à¾ÛºÏ£¬µ«ÎÒÃÇÖ»¶Ô¸ÃÓÃÀýÖеĶ©µ¥¾ÛºÏ¸ÐÐËȤ¡£µ±¸ü¸Ä¸¶¿î·½Ê½Ê±£¬´Ë·þÎñ·¢³öÒ»¸öʼþ£¬Ö§¸¶·þÎñ½«Í¨¹ýÒÔÏ·½Ê½¶Ô´Ëʼþ×ö³öÏìÓ¦£º½«ÏÈǰʹÓõÄÐÅÓÿ¨³·Ïú£¬ÔÙ´¦ÀíеÄÐÅÓÿ¨¡£

ͼ 5£ºÖØÐ¶¨ÒåµÄÉÏÏÂÎÄÓ³Éä
ͨ³££¬µ¥Ìå»òÒÅÁôÓ¦ÓóÌÐòÓÐÐí¶à¾ÛºÏ£¬Çұ߽çÖØµþ¡£´´½¨ÕâЩ¾ÛºÏ¼°ÆäÒÀÀµ¹ØÏµµÄÉÏÏÂÎÄÓ³É䣬½«ÓÐÖúÓÚÎÒÃÇÀí½â´ÓÕâЩµ¥ÌåÓ¦ÓÃÖлñÈ¡ÈκÎÐÂ΢·þÎñµÄÂÖÀª¡£Çë¼Çס£¬Î¢·þÎñ¼Ü¹¹µÄ³É°ÜÈ¡¾öÓÚ¾ÛºÏÖ®¼äµÄµÍñîºÏÒÔ¼°¾ÛºÏÖ®ÄڵĸßÄÚ¾Û¡£
»¹ÐèҪעÒâµÄÊÇ£¬½çÏÞÉÏÏÂÎı¾Éí¾ÍÊǺÏÊʵÄÄÚ¾Ûµ¥Ôª¡£¼´Ê¹ÉÏÏÂÎÄÓжà¸ö¾ÛºÏ£¬Ò²¿ÉÒÔ½«Õû¸öÉÏÏÂÎļ°Æä¾ÛºÏ×é³Éµ¥¸ö΢·þÎñ¡£ÎÒÃÇ·¢ÏÖÕâÖÖÆô·¢Ê½·½·¨¶ÔÓÚÓÐЩģºýµÄÁìÓòÌØ±ðÓÐÓ㬱ÈÈç×éÖ¯ÕýÔÚÉæ×ãµÄÐÂÒµÎñÁìÓò¡£ÎÒÃÇ¿ÉÄܶԷÖÀëµÄÕýÈ·±ß½çûÓÐ×ã¹»µÄÁ˽⣬²¢ÇÒÈκιýÔçµÄ¾ÛºÏ·Ö½â¶¼¿ÉÄܵ¼Ö°º¹óµÄÖØ¹¹¡£ÊÔÏëһϣ¬ÓÉÓÚÊý¾ÝÇ¨ÒÆ£¬²»µÃ²»½«Á½¸öÊý¾Ý¿âºÏ²¢ÎªÒ»¸ö£¬ÒòΪÎÒÃÇżȻ·¢ÏÖÁ½¸ö¾ÛºÏÊôÓÚͬһÀà¡£µ«ÊÇҪȷ±£ÕâЩ¾ÛºÏͨ¹ý½Ó¿ÚÊdzä·Ö¸ôÀëµÄ£¬ÕâÑùËüÃǾͲ»ÖªµÀ±Ë´ËµÄ¸´ÔÓϸ½ÚÁË¡£
6
ʼþ·ç±©£ºÁíÒ»ÖÖʶ±ð·þÎñ±ß½çµÄ¼¼Êõ
ʼþ·ç±©£¨Event Storming£©ÊÇʶ±ðϵͳÖоۺϣ¨ÒÔ¼°Î¢·þÎñ£©µÄÁíÒ»Öֱز»¿ÉÉٵļ¼Êõ¡£ËüÊÇÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬¼È¿ÉÓÃÓڷֽⵥÌåÓ¦Óã¬Ò²¿ÉÓÃÓÚÉè¼Æ¸´ÔÓµÄ΢·þÎñÉú̬ϵͳ¡£ÎÒÃÇÒѾʹÓÃÕâÖÖ¼¼Êõ·Ö½âÁËÒ»¸ö¸´ÔÓµÄÓ¦ÓóÌÐò£¬²¢´òËãдһƪµ¥¶ÀµÄÎÄÕÂÀ´½éÉÜÎÒÃǵÄʼþ·ç±©¾Ñé¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÖ»¸ø³öÒ»¸ö¿ìËٵĸ߲ã¸ÅÊö¡£
¼ò¶øÑÔÖ®£¬Ê¼þ·ç±©ÊÇÔÚÓ¦ÓóÌÐòÍŶӣ¨ÕâÀָµ¥Ì壩ÖнøÐеÄÍ·ÄԷ籩£¬ÒÔʶ±ðϵͳÖз¢ÉúµÄ¸÷ÖÖÁìÓòʼþºÍÁ÷³Ì¡£ÍŶӻ¹ÐèÈ·¶¨ÕâЩʼþÓ°ÏìµÄ×ܺͻòÄ£ÐÍ£¬ÒÔ¼°Óɴ˲úÉúµÄÈκκóÐøÓ°Ïì¡£µ±ÍŶÓ×öÕâ¸öÍ·ÄԷ籩ʱ£¬ËûÃǽ«Ê¶±ð²»Í¬µÄÖØµþ¸ÅÄģÀâÁ½¿ÉµÄÁìÓòÓïÑÔºÍÏ໥³åÍ»µÄÒµÎñÁ÷³Ì¡£ËûÃǶÔÏà¹ØµÄÄ£ÐͽøÐзÖ×飬֨ж¨Òå¾ÛºÏ²¢Ê¶±ðÖØ¸´µÄÁ÷³Ì¡£Ëæ×ÅÕâЩ¹¤×÷µÄ½øÐУ¬ÕâЩ¾ÛºÏËùÊôµÄ½çÏÞÉÏÏÂÎıäµÃÇåÎúÆðÀ´¡£Èç¹ûËùÓÐÍŶӶ¼ÔÚͬһ¸ö·¿¼ä£¨ÎïÀí»òÐéÄ⣩À²¢¿ªÊ¼ÔÚ
Scrum ·ç¸ñµÄ°×°åÉÏ»æÖÆÊ¼þ¡¢ÃüÁîºÍÁ÷³ÌµÄÓ³É䣬ÄÇôʼþ·ç±©ÑÐÌ־ͻá·Ç³£ÓÐÓá£ÔÚ±¾Á·Ï°½áÊøÊ±£¬Í¨³£»á²ú³öÈçϳɹû£º
ÖØÐ¶¨ÒåµÄ¾ÛºÏÁÐ±í¡£ÕâЩ¿ÉÄÜ»á³ÉΪеÄ΢·þÎñ
ÐèÒªÔÚÕâЩ΢·þÎñÖ®¼äÁ÷¶¯µÄÁìÓòʼþ
ÆäËûÓ¦ÓóÌÐò»òÓû§Ö±½Óµ÷ÓõÄÃüÁî
ÏÂÃæÊÇÎÒÃÇÔÚÒ»´Îʼþ·ç±©ÑÐÌÖ»á½áÊøÊ±²úÉúµÄÒ»¸öʾÀýÑù°å¡£¶ÔÓÚÍŶÓÀ´Ëµ£¬¾ÍÕýÈ·µÄ¾ÛºÏºÍ½çÏÞÉÏÏÂÎÄ´ï³ÉÒ»ÖÂÊÇÒ»´ÎºÜ°ôµÄÐ×÷»î¶¯¡£´ËÍ⣬ÍŶÓÔÚ±¾´Î»áÒé½áÊøÊ±»¹¶ÔÁìÓò¡¢Í³Ò»ÓïÑԺ;«È·µÄ·þÎñ±ß½çÓÐ׏²Í¬µÄÀí½â¡£

ͼ 6£ºÊ¼þ·ç±©°å
7
΢·þÎñÖ®¼äµÄͨÐÅ
¿ìËٻعËһϣ¬Ò»¸öµ¥ÌåÓ¦ÓÃÔÚµ¥¸öÁ÷³Ì±ß½çÄÚÓµÓжà¸ö¾ÛºÏ¡£Òò´Ë£¬¿ÉÒÔÔÚÕâ¸ö±ß½çÄÚ¹ÜÀí¸÷¸ö¾ÛºÏµÄÒ»ÖÂÐÔ¡£ÀýÈ磬Èç¹û¿Í»§ÏÂÁ˶©µ¥£¬ÎÒÃÇ¿ÉÒÔ¼õÉÙÉÌÆ·¿â´æ£¬²¢Ïò¿Í»§·¢Ë͵ç×ÓÓʼþ£¬ËùÓÐÕâЩ¶¼ÔÚÒ»¸öÊÂÎñÖÐÍê³É¡£ËùÓвÙ×÷Ҫô¶¼³É¹¦£¬ÒªÃ´¶¼»áʧ°Ü¡£µ«ÊÇ£¬µ±ÎÒÃÇ·Ö½âÁ˵¥Ìå²¢½«¾ÛºÏ·ÖÉ¢µ½²»Í¬µÄÉÏÏÂÎÄÖÐʱ£¬ÎÒÃǽ«ÓµÓÐÊýÊ®¸öÉõÖÁÊý°Ù¸ö΢·þÎñ¡£µ«Ä¿Ç°ÎªÖ¹£¬´æÔÚÓÚµ¥ÌåÓ¦Óõ¥Ò»±ß½çÄÚµÄÁ÷³Ì£¬ÏÖÔÚ±»·ÖÉ¢µ½Á˶à¸ö·Ö²¼Ê½ÏµÍ³ÖС£ÒªÔÚËùÓÐÕâЩ·Ö²¼Ê½ÏµÍ³ÖÐʵÏÖÊÂÎñµÄÍêÕûÐÔºÍÒ»ÖÂÐÔÊǷdz£À§Äѵ쬶øÇÒÒªÒÔϵͳµÄ¿ÉÓÃÐÔΪ´ú¼Û¡£
΢·þÎñÒ²ÊÇ·Ö²¼Ê½ÏµÍ³¡£Òò´Ë£¬CAP ¶¨ÀíÒ²ÊÊÓÃÓÚËüÃÇ£º¡°Ò»¸ö·Ö²¼Ê½ÏµÍ³Ö»ÄÜÌṩÈý¸öËùÐèÌØÐÔÖеÄÁ½¸ö£ºÒ»ÖÂÐÔ¡¢¿ÉÓÃÐԺͷÖÇøÈÝ´í£¨CAP
Öеġ®C¡¯¡ª¡ªConsistency¡¢¡®A¡¯¡ª¡ªAvailability ºÍ ¡®P¡¯¡ª¡ªPartition
Tolerance£©¡£¡±ÔÚÏÖʵÊÀ½çµÄϵͳÖУ¬·ÖÇøÈÝ´íÊDz»¿ÉÐÉ̵ġª¡ªÍøÂçÊDz»¿É¿¿µÄ¡¢ÐéÄâ»ú¿ÉÒÔå´»ú¡¢ÇøÓòÖ®¼äµÄÑÓ³Ù¿ÉÄÜ»á±äµÃ¸üÔãµÈµÈ¡£
Òò´Ë£¬ÎÒÃÇ¿ÉÒÔÑ¡Ôñ¡°¿ÉÓÃÐÔ¡±»ò¡°Ò»ÖÂÐÔ¡±¡£ÏÖÔÚ£¬ÎÒÃÇÖªµÀ£¬ÔÚÈκÎÏÖ´úÓ¦ÓóÌÐòÖУ¬ÎþÉü¡°¿ÉÓÃÐÔ¡±Ò²²»ÊÇÒ»¸öºÃÖ÷Òâ¡£

ͼ 7£ºCAP ¶¨Àí
8
Î§ÈÆ×îÖÕÒ»ÖÂÐÔÉè¼ÆÓ¦ÓóÌÐò
Èç¹ûÎÒÃÇÏëÒª¿ç¶à¸ö·Ö²¼Ê½ÏµÍ³¹¹½¨ÊÂÎñ£¬ÄÇôÎÒÃǽ«ÔÙ´ÎÏÝÈëµ¥ÌåÓ¦ÓõÄÀ§¾³¡£µ«ÕâÒ»´ÎËü»áÊÇ×îÔã¸âµÄÒ»ÖÖµ¥Ì壺һ¸ö·ÖÉ¢µÄµ¥ÌåÓ¦Óá£Èç¹ûÕâЩϵͳÖеÄÈκÎÒ»¸ö±äµÃ²»¿ÉÓã¬ÔòÕû¸öÁ÷³Ì²»¿ÉÓã¬Í¨³£»áµ¼Ö¼«²îµÄ¿Í»§ÌåÑé¡¢³ÐŵµÄʧ°ÜµÈµÈ¡£´ËÍ⣬¶ÔÒ»¸ö·þÎñµÄ±ä¸üͨ³£»áµ¼ÖÂÁíÒ»¸ö·þÎñµÄ±ä¸ü£¬´Ó¶øÒýÆð¸´ÔӺͰº¹óµÄ²¿Êð¡£Òò´Ë£¬ÎÒÃÇ×îºÃ¸ù¾Ý×Ô¼ºµÄÓÃÀýÀ´Éè¼ÆÓ¦ÓóÌÐò£¬ÈÝÈÌÉÔ΢µÄ²»Ò»Ö£¬ÒÔÌá¸ß¿ÉÓÃÐÔ¡£¶ÔÓÚÉÏÃæµÄÀý×Ó£¬ÎÒÃÇ¿ÉÒÔʹËùÓÐÁ÷³ÌÒì²½£¬´Ó¶ø´ïµ½×îÖÕµÄÒ»ÖÂÐÔ¡£ÎÒÃÇ¿ÉÒÔ¶ÀÁ¢ÓÚÆäËûÁ÷³Ì£¬Òì²½·¢Ë͵ç×ÓÓʼþ£»Èç¹ûÒѾ³ÐŵµÄÉÌÆ·ÒÔºóÔÚ²Ö¿âÖв»¿ÉÓã¬ÄÇô¸ÃÉÌÆ·¿ÉÄÜÐèÒª²¹»õ£¬»òÕßÎÒÃÇ¿ÉÒÔÍ£Ö¹½ÓÊܳ¬³öij¸öãÐÖµµÄ¸ÃÉÌÆ·µÄ¶©µ¥¡£
ÓÐʱ£¬ÎÒÃÇ¿ÉÄÜ»áÓöµ½ÕâÑùµÄ³¡¾°£º¿ÉÄÜÐèÒª¿çÔ½²»Í¬Á÷³Ì±ß½çµÄÁ½¸ö¾ÛºÏµÄÇ¿ ACID ʽµÄÊÂÎñ¡£ÕâÊÇÒ»¸öÖØÐÂÉóÊÓÕâЩ¾ÛºÏ²¢½«ËüÃÇ×éºÏ³ÉÒ»¸ö¾ÛºÏµÄ¼«ºÃ¼£Ï󡣿ªÊ¼ÔÚ²»Í¬Á÷³Ì±ß½çÖзֽâÕâЩ¾ÛºÏ֮ǰ£¬Ê¼þ·ç±©ºÍÉÏÏÂÎÄÓ³É佫ÓÐÖúÓÚÎÒÃǼ°Ôçʶ±ðÕâЩÒÀÀµ¹ØÏµ¡£½«Á½¸ö΢·þÎñºÏ²¢ÎªÒ»¸öµÄ³É±¾ºÜ¸ß£¬ÕâÊÇÎÒÃÇÓ¦¸ÃŬÁ¦±ÜÃâµÄ¡£
9
Ö§³ÖʼþÇý¶¯µÄ¼Ü¹¹
΢·þÎñ¿ÉÒÔ½«·¢ÉúÔÚÆä¾ÛºÏÉϵĻù±¾¸ü¸Ä·¢³öÀ´£¬ÕâЩ³ÆÎªÁìÓòʼþ£¨Domain Event£©£¬²¢ÇÒÈκζÔÕâЩ¸ü¸Ä¸ÐÐËȤµÄ·þÎñ¶¼¿ÉÒÔ¼àÌýÕâЩʼþ²¢ÔÚÆäÁìÓòÄÚÖ´ÐÐÏàÓ¦µÄ²Ù×÷¡£ÕâÖÖ·½·¨±ÜÃâÁËÈκÎÐÐΪÉϵÄñîºÏ£¨Ò»¸öÁìÓòÎÞÐè¹æ¶¨ÆäËûÁìÓòÓ¦¸Ã×öʲô£©ÒÔ¼°Ê±¼äÉϵÄñîºÏ£¨Ò»¸öÁ÷³ÌµÄ³É¹¦Íê³É²»ÒÀÀµÓÚËùÓÐϵͳͬʱ¿ÉÓã©¡£µ±È»£¬Õ⽫Òâζ×Åϵͳ×îÖÕÊÇÒ»Öµġ£

ͼ 8£ºÊ¼þÇý¶¯¼Ü¹¹
ÔÚÉÏÃæµÄʾÀýÖУ¬¶©µ¥·þÎñ·¢²¼Ò»¸öʼþ£º¶©µ¥ÒÑÈ¡Ïû¡£¶©ÔÄÁ˸ÃʼþµÄÆäËû·þÎñ´¦Àí¸÷×ÔµÄÁìÓò¹¦ÄÜ£ºÖ§¸¶·þÎñÍ˿¿â´æ·þÎñµ÷ÕûÉÌÆ·µÄ¿â´æ£¬µÈµÈ¡£ÎªÈ·±£´Ë¼¯³ÉµÄ¿É¿¿ÐԺ͵¯ÐÔ£¬ÐèҪעÒâÒÔϼ¸µã£º
Éú²úÕßӦȷ±£ÖÁÉÙ·¢³öÁËÒ»´Îʼþ¡£Èç¹û¹ý³ÌÖгöÏÖʧ°Ü£¬ÔòӦȷ±£´æÔÚ»ØÍË»úÖÆÒÔÖØÐ´¥·¢Ê¼þ
Ïû·ÑÕßÓ¦¸ÃÈ·±£ÒÔÃݵȵķ½Ê½Ïû·Ñʼþ¡£Èç¹ûÔٴη¢Éúͬһʼþ£¬²»»á¶ÔÏû·ÑÕß²úÉúÈκθ±×÷Óá£Ê¼þÒ²¿ÉÄܲ»ÊÇ˳Ðòµ½´ïµÄ¡£Ïû·ÑÕß¿ÉÒÔʹÓÃʱ¼ä´Á»ò°æ±¾ºÅ×Ö¶ÎÀ´±£Ö¤Ê¼þµÄΨһÐÔ¡£
ÓÉÓÚijЩÓÃÀýµÄÌØÐÔ£¬²»Ò»¶¨×ÜÊÇ¿ÉÒÔʹÓûùÓÚʼþµÄ¼¯³É¡£Ç뿴һϹºÎï³µ·þÎñºÍÖ§¸¶·þÎñÖ®¼äµÄ¼¯³É¡£ÕâÊÇÒ»¸öͬ²½¼¯³É£¬Òò´ËÎÒÃÇÐèҪעÒâһЩÊÂÏî¡£ÕâÊÇÒ»¸öÐÐΪñîºÏµÄÀý×Ó¡ª¡ª¹ºÎï³µ·þÎñ¿ÉÄÜ»á´ÓÖ§¸¶·þÎñµ÷ÓÃÒ»¸ö
REST API£¬²¢Ö¸Ê¾ËüÊÚȨ¶©µ¥µÄÖ§¸¶£¬¶øÊ±¼äñîºÏ¡ª¡ªÖ§¸¶·þÎñÐèÒª¶Ô¹ºÎï³µ·þÎñ¿ÉÓã¬Ëü²ÅÄܽÓÊܶ©µ¥¡£ÕâÖÖñîºÏ½µµÍÁËÕâЩÉÏÏÂÎĵÄ×ÔÖÎÐÔ£¬Ò²¿ÉÄÜ»áÒýÈë²»±ØÒªµÄÒÀÀµ¡£Óм¸ÖÖ·½·¨¿ÉÒÔ±ÜÃâÕâÖÖñîºÏ£¬µ«ÊÇÈç¹ûʹÓÃÁËËùÓÐÕâЩѡÏÎÒÃǽ«Ê§È¥Ïò¿Í»§Ìṩ¼´Ê±·´À¡µÄÄÜÁ¦¡£
½« REST API ת»»Îª»ùÓÚʼþµÄ¼¯³É¡£µ«ÊÇ£¬Èç¹ûÖ§¸¶·þÎñ½ö¹«¿ª REST API£¬Ôò´ËÑ¡Ïî¿ÉÄܲ»¿ÉÓÃ
¹ºÎï³µ·þÎñÁ¢¼´½ÓÊܶ©µ¥£¬²¢ÇÒÓÐÒ»¸öÅú´¦Àí×÷ÒµÀ´½Ó¹Ü¶©µ¥²¢µ÷ÓÃÖ§¸¶·þÎñ API
¹ºÎï³µ·þÎñÉú³ÉÒ»¸ö±¾µØÊ¼þ£¬È»ºóµ÷ÓÃÖ§¸¶·þÎñ API
ÔÚ³öÏÖʧ°ÜºÍÉÏÓÎÒÀÀµÏ֧¸¶·þÎñ£©²»¿ÉÓõÄÇé¿öÏ£¬½«ÉÏÊö·½·¨ÓëÖØÊÔÏà½áºÏ£¬¿ÉÒÔ²úÉú¸ü¾ßµ¯ÐÔµÄÉè¼Æ¡£ÀýÈ磬ÔÚ·¢Éú¹ÊÕϵÄÇé¿öÏ£¬¿ÉÒÔͨ¹ý»ùÓÚʼþ»òÅú´¦ÀíµÄÖØÊÔÀ´±¸·Ý¹ºÎï³µºÍÖ§¸¶·þÎñÖ®¼äµÄͬ²½¼¯³É¡£ÕâÖÖ·½·¨»á¶Ô¿Í»§ÌåÑé²úÉú¶îÍâµÄÓ°Ï죺¿Í»§¿ÉÄÜÊäÈëÁ˲»ÕýÈ·µÄÖ§¸¶ÏêϸÐÅÏ¢£¬µ±ÎÒÃÇÀëÏß´¦ÀíÖ§¸¶Ê±£¬ÎÞ·¨Ç¿ÖÆËûÃÇÔÚÏß¡£»òÕߣ¬ÊÕ»ØÊ§°ÜµÄÖ§¸¶¿ÉÄÜ»áÔö¼ÓÆóÒµµÄ³É±¾¡£µ«ÔÚËùÓпÉÄܵÄÇé¿öÏ£¬ÈùºÎï³µ·þÎñ¶ÔÖ§¸¶·þÎñµÄ²»¿ÉÓÃÐÔ»ò¹ÊÕϾßÓе¯ÐÔ£¬Àû´óÓڱס£ÀýÈ磬Èç¹ûÎÒÃÇÎÞ·¨ÀëÏßÊտÎÒÃÇ¿ÉÒÔ֪ͨ¿Í»§¡£¼ò¶øÑÔÖ®£¬ÔÚÓû§ÌåÑé¡¢µ¯ÐÔºÍÔËÓª³É±¾Ö®¼ä´æÔÚ×ÅȨºâ£¬ÔÚÉè¼ÆÏµÍ³Ê±£¬Ã÷ÖǵÄ×ö·¨Êdzä·Ö¿¼ÂÇÕâЩÕÛÖÔ¡£
10
±ÜÃâΪÁËÂú×ãµ÷ÓÃÕßµÄÌØ¶¨Êý¾ÝÐèÇó¶ø±àÅÅ·þÎñ
´æÔÚÓÚÈκÎÃæÏò·þÎñ¼Ü¹¹µÄÒ»¸ö·´Ä£Ê½ÊÇ£º·þÎñӺϵ÷ÓÃÕßµÄÌØ¶¨·ÃÎÊģʽ¡£Í¨³££¬µ±µ÷ÓÃÕßÍŶÓÓë·þÎñÌṩÕßÍŶӽôÃܺÏ×÷ʱ£¬¾Í»á·¢ÉúÕâÖÖÇé¿ö¡£Èç¹ûÍŶÓÕýÔÚ¿ª·¢Ò»¸öµ¥ÌåÓ¦ÓóÌÐò£¬ËüÃÇͨ³£»á´´½¨Ò»¸ö¿çÔ½²»Í¬¾ÛºÏ±ß½çµÄ
API£¬´Ó¶øÊ¹ÕâЩ¾ÛºÏ½ôÃÜñîºÏÔÚÒ»Æð¡£ÎÒÃÇÀ´¿´Ò»¸öÀý×Ó¡£±ÈÈç˵ Web ÖеĶ©µ¥ÏêÇéÒ³Ãæ£¬Òƶ¯Ó¦ÓóÌÐòÐèÒªÔÚµ¥¸öÒ³ÃæÉÏÏÔʾ¶©µ¥ÏêÇéºÍ¶©µ¥Í˿ÀíÏêÇé¡£ÔÚÒ»¸öµ¥ÌåÓ¦ÓóÌÐòÖУ¬¶©µ¥»ñÈ¡
API£¨Order-GET-API£¬¼ÙÉèËüÊÇ REST API£©ÐèҪͬʱ²éѯ¶©µ¥ºÍÍ˿ºÏ²¢Á½¸ö¾ÛºÏ²¢Ïòµ÷Ó÷½·¢ËÍÒ»¸ö¸´ºÏÏìÓ¦¡£ÓÉÓÚ¾ÛºÏÊôÓÚͬһÁ÷³Ì±ß½ç£¬Òò´Ë¿ÉÒÔÔÚûÓÐÌ«¶à¿ªÏúµÄÇé¿öÏÂʵÏÖÕâÒ»µã¡£µ÷ÓÃÕß¿ÉÒÔÔÚÒ»´Î»á»°ÖлñµÃËùÐèµÄËùÓÐÊý¾Ý¡£
Èç¹û¶©µ¥ºÍÍË¿îÊDz»Í¬ÉÏÏÂÎĵÄÒ»²¿·Ö£¬ÄÇôÊý¾Ý²»ÔÙ³öÏÖÔÚµ¥¸ö΢·þÎñ»ò¾ÛºÏ±ß½çÄÚ¡£Îªµ÷ÓÃÕß±£ÁôÏàͬ¹¦ÄܵÄÒ»¸öÑ¡ÏîÊÇ£¬Èö©µ¥·þÎñ¸ºÔðµ÷ÓÃÍË¿î·þÎñ²¢´´½¨Ò»¸ö¸´ºÏÏìÓ¦¡£ÕâÖÖ·½·¨»áÒýÆðÒÔϼ¸¸öÎÊÌ⣺
¶©µ¥·þÎñÏÖÔÚÓëÁíÒ»¸ö·þÎñ¼¯³É£¬´¿´âÊÇΪÁËÖ§³ÖÄÇЩÐèÒªÍË¿îÊý¾ÝºÍ¶©µ¥Êý¾ÝµÄµ÷ÓÃÕß¡£ÏÖÔÚ¶©µ¥·þÎñµÄ×ÔÖÎÐÔ½µµÍÁË£¬ÒòΪÍË¿î¾ÛºÏµÄÈκθü¸Ä¶¼»áµ¼Ö¶©µ¥¾ÛºÏµÄ¸ü¸Ä¡£
¶©µ¥·þÎñÓÐÁíÒ»¸ö¼¯³É£¬Òò´ËÐèÒª¿¼ÂÇÁíÒ»¸ö¹ÊÕϵ㣺Èç¹ûÍË¿î·þÎñ³öÏÖ¹ÊÕÏ£¬¶©µ¥·þÎñÊÇ·ñÈÔ¿ÉÒÔ·¢ËͲ¿·ÖÊý¾Ý£¬²¢ÇÒµ÷ÓÃÕßÊÇ·ñ¿ÉÒÔÓÅÑŵش¦Àí¹ÊÕÏÄØ£¿
Èç¹ûµ÷ÓÃÕßÐèÒª±ä¸ü£¬ÒÔ´ÓÍË¿î¾ÛºÏÖлñÈ¡¸ü¶àµÄÊý¾Ý£¬ÄÇôÏÖÔÚÐèÒªÁ½¸öÍŶÓͬʱ½øÐбä¸ü
Èç¹û¿çƽ̨¶¼×ñÑÕâÖÖģʽ£¬Ôò¿ÉÄܻᵼÖ¸÷ÖÖÓò·þÎñÖ®¼äÐγɸ´ÔÓµÄÒÀÀµ¹ØÏµÍø£¬Õâ¶¼ÊÇÒòΪÕâЩ·þÎñÓºÏÁ˵÷ÓÃÕßÌØ¶¨µÄ·ÃÎÊģʽ¡£
11
רÃÅ·þÎñÓÚǰ¶ËµÄºó¶Ë£¨BFFs£©
Ò»ÖÖ¼õÇáÕâÖÖ·çÏյķ½·¨ÊÇÈõ÷ÓÃÕßÍŶӹÜÀí¸÷ÖÖÓò·þÎñÖ®¼äµÄ±àÅÅ¡£±Ï¾¹£¬µ÷Ó÷½¸üÁ˽â·ÃÎÊģʽ£¬²¢ÇÒ¿ÉÒÔÍêÈ«¿ØÖƶÔÕâЩģʽµÄÈκθü¸Ä¡£ÕâÖÖ·½·¨½«Óò·þÎñ´Ó±íʾ²ã½âñî³öÀ´£¬ÈÃËüÃÇרעÓÚºËÐÄÒµÎñÁ÷³Ì¡£µ«ÊÇ£¬Èç¹û
Web ºÍÒÆ¶¯Ó¦ÓóÌÐò¿ªÊ¼Ö±½Óµ÷Óò»Í¬µÄ·þÎñ£¬¶ø²»ÊÇ´Óµ¥ÌåÖе÷ÓÃÒ»¸ö¸´ºÏ API£¬Õâ¿ÉÄÜ»á¸øÕâЩӦÓóÌÐò´øÀ´ÐÔÄÜ¿ªÏú¡ª¡ªÔڽϵʹø¿íµÄÍøÂçÉϽøÐжà´Îµ÷Ó㬴¦ÀíºÍºÏ²¢À´×Ô²»Í¬
API µÄÊý¾Ý£¬µÈµÈ¡£
Ïà·´£¬¿ÉÒÔʹÓÃÁíÒ»ÖÖ³ÆÎªÓÃÓÚǰ¶ËµÄºó¶Ëģʽ£¨Backend for Front-ends£©¡£ÔÚÕâÖÖÉè¼ÆÄ£Ê½ÖУ¬ÓÉÏû·ÑÕß´´½¨ºÍ¹ÜÀíµÄºó¶Ë·þÎñ£¬ÔÚ±¾ÀýÖÐÊÇ
Web ºÍÒÆ¶¯ÍŶӣ¬Ëü¸ºÔð¶Ô¶à¸öÓò·þÎñ½øÐм¯³É£¬´¿´âÊÇΪÁËÏò¿Í»§Ìṩǰ¶ËÌåÑé¡£Web ºÍÒÆ¶¯ÍŶÓÏÖÔÚ¿ÉÒÔ¸ù¾ÝËüÃÇËùÐèÒªµÄÓÃÀýÀ´Éè¼ÆÊý¾ÝÆõÔ¼¡£ËüÃÇÉõÖÁ¿ÉÒÔʹÓÃ
GraphQL ¶ø²»ÊÇ REST API À´Áé»îµØ²éѯ²¢»ñÈ¡ËùÐèµÄÄÚÈÝ¡£ÐèҪעÒâµÄÊÇ£¬¸Ã·þÎñÊÇÓÉÏû·ÑÕßÍŶÓÓµÓкÍά»¤µÄ£¬¶ø²»ÊÇÌṩÓò·þÎñµÄÍŶӡ£Ç°¶ËÍŶÓÏÖÔÚ¿ÉÒÔ¸ù¾ÝËüÃǵÄÐèÇó½øÐÐÓÅ»¯¡ª¡ªÒƶ¯Ó¦ÓóÌÐò¿ÉÒÔÇëÇó¸üСµÄÓÐЧ¸ºÔØ£¬¼õÉÙÀ´×ÔÒÆ¶¯Ó¦ÓóÌÐòµÄ»á»°´ÎÊý£¬µÈµÈ¡£ÏÂÃæÊÇÐÞ¶©ºóµÄÒµÎñÁ÷³Ìͼ¡£BFF
·þÎñÏÖÔÚΪÆäÓÃÀýµ÷Óá°¶©µ¥¡±ºÍ¡°Í˿Óò·þÎñ¡£

ͼ 9£ºÓÃÓÚǰ¶ËµÄºó¶Ë
¾¡Ôç¹¹½¨ BFF ·þÎñÒ²ºÜÓÐÓã¬ÕâÑù¿ÉÒÔ±ÜÃâ´Óµ¥ÌåϵͳÖзֽâ³ö¹ý¶àµÄ·þÎñ¡£·ñÔò£¬ÒªÃ´Óò·þÎñ±ØÐëÖ§³ÖÓò¼ä±àÅÅ£¬ÒªÃ´
Web ºÍÒÆ¶¯Ó¦ÓóÌÐò±ØÐëÖ±½Ó´Óǰ¶Ëµ÷Óöà¸ö·þÎñ¡£ÕâÁ½¸öÑ¡Ïî¶¼»áµ¼ÖÂÐÔÄÜ¿ªÏú¡¢Ò»´ÎÐÔ¹¤×÷ÒÔ¼°ÍŶÓÖ®¼äȱ·¦×ÔÖΡ£
|