Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¡¾ÏµÍ³¼Ü¹¹ÀíÂÛ¡¿Ò»ÆªÎÄÕ¸ãµà£ºÁìÓòÇý¶¯Éè¼Æ
 
  2734  次浏览      31
 2019-9-3 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚmamicode£¬ÎÄÕÂÖ÷Òª½éÉÜÁËʲôÊÇÁìÓòÇý¶¯Éè¼Æ£¬2ÖÖ½¨Ä£·½Ê½£¬ÁìÓòÇý¶¯µÄ¼Ü¹¹µÈÏà¹ØÄÚÈÝ¡£

Ò»¡¢Ê²Ã´ÊÇÁìÓòÇý¶¯Éè¼Æ

1.1¡¢ÃæÏòÒµÎñµÄÉè¼Æ

µ±ÎÒÃÇÐèÒª¹¹½¨Ò»¸öÒµÎñ¸´ÔÓµÄϵͳ£¬ÎÒÃDz»½öÒª´Ó¼¼Êõ½Ç¶ÈÈ¥¹¹½¨Ò»¸öÎȽ¡µÄϵͳ£¬»¹Òª´ÓÒµÎñ½Ç¶È³ö·¢£¬±£Ö¤ÏµÍ³ÄÜÂú×ãÒµÎñÐèÇó¡£

¼Ü¹¹Éè¼ÆµÄ¿¼Âǵ㣺²»½öÃæÏò¼¼Êõ£¬¸üÓ¦¸ÃÃæÏòÒµÎñ£»Ãæ¶Ô²»Í¬µÄÒµÎñ¸´ÔÓ¶È£¬Ñ¡ÔñµÄ¼Ü¹¹¿ÉÄܲ»Í¬¡£

¼Ü¹¹Ê¦µÄ¹¤×÷£ºÃæ¶Ô¸´ÔÓµÄÒµÎñÂß¼­£¬ÐèÒªÕûºÏÒµÎñºÍ¼¼Êõ²ÅÄܺܺõؽâ¾ö¡£ÒµÎñ¼Ü¹¹Çý¶¯¼¼Êõ¼Ü¹¹¡£

Ò»¸öµäÐÍ¿ª·¢ÍŶӣºÐÂÊÖ¡¢Öм¶¿ª·¢Õß¡¢¸ß¼¶¿ª·¢Õß/¼Ü¹¹Ê¦£¨¼¼Êõ¼Ü¹¹£©¡¢ÁìÓòר¼Ò/²úÆ·¾­Àí£¨ÒµÎñ¼Ü¹¹£©¡¢ÏîÄ¿¾­Àí

Òª½â¾öµÄÎÊÌ⣺½«¸´ÔÓµÄÒµÎñ¼Ü¹¹ÊáÀíºÃ£¬²¢ÄÜΪ¼¼Êõ¼Ü¹¹µÄÉè¼ÆÌṩҪÇó»òÖ¸µ¼¡£

×ܽ᣺Ҫ½øÐÐÒ»¸öÒµÎñ¸´ÔÓϵͳµÄ¼Ü¹¹Éè¼Æ£¬ÎÒÃÇÒª½«¼¼Êõ¼Ü¹¹ºÍÒµÎñ¼Ü¹¹ÕûºÏÆðÀ´¡£

1.2¡¢Ê¹ÓÃÁìÓòÇý¶¯Éè¼Æ£¬ÈÃÒµÎñ¼Ü¹¹ºÍ¼¼Êõ¼Ü¹¹ÄÜÕûºÏÆðÀ´

¼ÈȻҵÎñ¶Ôϵͳ¼Ü¹¹ÓÐÓ°Ï죬ÄÇôÈçºÎÄܽ«ÒµÎñÓïÑÔת»¯Îª¶Ô¼¼Êõ¼Ü¹¹Éè¼ÆÓÐÖ¸µ¼ÒâÒåµÄÐÅÏ¢£¿

ÆäÖÐÒ»ÖÖ·½·¨¾ÍÊÇÁìÓòÇý¶¯Éè¼Æ¡£

ÁìÓòÇý¶¯Éè¼Æ£ºDomain Driven Design£¨DDD£©£¬Ò»ÖÖÈí¼þ¿ª·¢µÄ·½·¨Ñ§

ʲôÊÇÁìÓò£ºÒ»¸ö×éÖ¯µÄÒµÎñ¿ªÕ¹·½Ê½£¬ÌåÏÖÒµÎñ¼ÛÖµ¡£

ÀýÈ磺µçÉÌÍøÕ¾ÖеIJúÆ·¡¢¶©µ¥¡¢·¢Æ±¡¢¿â´æ¡¢ÎïÁ÷£»±£ÏÕ¹«Ë¾µÄ±£ÏÕµ¥¡¢ÀíÅâ¡¢ÔÙ±£Ïյȡ£

ÒµÎñ¼ÛÖµ£ºÓÐÓõÄÁìÓòÄ£ÐÍ¡¢³éÏóµÄÒµÎñ¶¨Òå¡¢¸üºÃµÄÓû§ÌåÑé¡¢ÇåÎúµÄÄ£Ðͱ߽磻ĿµÄÊÇÖ¸µ¼¿ª·¢³öÓÅÐãµÄ¼¼Êõ¼Ü¹¹¡£

ÈçºÎʹÓÃDDD£º

×îÖÕÄ¿±ê£ºÄÜÌåÏÖϵͳҵÎñ£¬ÓÖÄÜÖ¸µ¼´úÂ뿪·¢µÄÒ»¸öÄ£ÐÍ£»½«Éè¼ÆÄ£ÐͺʹúÂëÄ£ÐͺܺõؽáºÏÆðÀ´¡£

ͨÓÃÓïÑÔ£¨Ubiquitous Language£©£º

ÍŶӳÉÔ±µÄÐл°

ÃæÏòÒµÎñ

±íÏÖÐÎʽ£ºÊõÓï±í¡¢ÎĵµºÍͼ¡¢Ä£ÐÍÓïÑÔ¡£¡£¡£

ÃæÁÙµÄÌôÕ½£ºÁìÓòר¼Ò³ÖÐø²»¶Ï½éÈë¡¢¿ª·¢Õß¶ÔÁìÓòµÄ˼¿¼·½·¨

×ÛÉÏ£¬ÎÒÃÇ¿ÉÒÔ¿¼ÂÇÁìÓòÇý¶¯Éè¼ÆµÄÉè¼ÆÎ³¶È£¬´Ó2¸ö·½ÃæÀ´¿´ÁìÓòÇý¶¯Éè¼Æ

Éè¼ÆµÄ²ßÂÔ£º

¹Ø×¢ÈçºÎÉè¼ÆÁìÓòÄ£ÐÍÒÔ¼°¶ÔÁìÓòÄ£Ð͵Ļ®·Ö

ÁìÓò/×ÓÓò

ͨÓÃÓïÑÔ

½çÏÞÉÏÏÂÎÄ

¼Ü¹¹·ç¸ñ

ÓÃÓÚÇå³þ½ç·Ö²»Í¬µÄϵͳºÍÒµÎñ¹Ø×¢µã

Éè¼ÆµÄ¼¼Êõ£º

¹Ø×¢¼¼ÊõʵÏֵIJãÃæ½Ì»áÎÒÃÇÈçºÎ¾ßÌåµØÊµÊ©DDD

ʵÌå/Öµ¶ÔÏó

ÁìÓò·þÎñ

ÁìÓòʼþ

×ÊÔ´¿â

»ùÓÚ¼¼ÊõÉè¼Æ¹¤¾ß°´ÕÕÁìÓòÄ£ÐÍ¿ª·¢Èí¼þ

×ܽ᣺ÎÒÃÇΪʹҵÎñÄÜÖ¸µ¼¼Ü¹¹¿ª·¢£¬½«ÒµÎñ¼Ü¹¹Óë¼¼Êõ¼Ü¹¹ÕûºÏÆðÀ´£¬ÌṩµÄÒ»ÖÖ½â¾ö°ì·¨ÊÇÁìÓòÇý¶¯Éè¼Æ£¬²¢Ìá³öÁËÁìÓòÇý¶¯Éè¼ÆµÄʵÏÖ²ßÂÔºÍʵÏÖ¼¼Êõ¡£

1.3¡¢ÊµÏÖÁìÓòÇý¶¯Éè¼ÆµÄ˼·

ÌṩһÌ×ͨÓõĽ¨Ä£ÓïÑÔºÍÊõÓï

չʾ»ùÓÚÁìÓòÇ÷ͬµÄ¼Ü¹¹Éè¼Æ·½·¨

չʾʵÏÖÁìÓòÇý¶¯Éè¼ÆµÄ¸÷Ïî¹Ø¼ü¼¼Êõ

»ùÓÚ¾ßÌå°¸ÀýչʾÉè¼ÆµÄ²ßÂԺͼ¼Êõ

¶þ¡¢ÁìÓòÓëÉÏÏÂÎÄ

2.1¡¢¼Ü¹¹µÄÂÖ»Ø

ÁìÓò£¨Domain£©£º

Ò»¸ö×éÖ¯Ëù×öµÄÊÂÇéÒÔ¼°ÆäÖÐËù°üº¬µÄÒ»ÇÐÄÚÈÝ

ÒµÎñ·¶Î§¼°Ëù½øÐеĻ

¿ª·¢Ä³¸öÈí¼þʱ£¬Ãæ¶ÔµÄ¾ÍÊÇ×éÖ¯µÄÁìÓò

ÁìÓòÄ£ÐÍ£¨Domain Model£©£º

Õë¶ÔÕû¸öÒµÎñϵͳ´´½¨µÄÄ£ÐÍ

ÓÐ2ÖÖ½¨Ä£·½Ê½£º

µ¥Ò»¡¢ÄÚ¾Û¡¢È«¹¦ÄÜʽ£ºÏÖÔÚ²»ºÃ

¹¦Äܲð·Ö¡¢·þÎñ»¯¡¢×ÓÓò£ºÏÖÔÚÔ½À´Ô½Á÷ÐУ¬Èç΢·þÎñ

¸´ÔÓϵͳµÄ¼òµ¥»¯£º¹¦Äܲð·Ö

²ð·Ö¹Ø×¢µã£ººËÐŦÄÜ¡¢¸¨Öú¹¦ÄÜ¡¢µÚÈý·½¹¦ÄÜ

²ð·ÖºóµÄ¹¦ÄÜ×é×°£ºÏµÍ³¼¯³É

¹¦Äܲð·ÖÔÚÁìÓòÇý¶¯Éè¼ÆµÄ±íÏÖ£º

²ð·Ö¹Ø×¢µã£º×ÓÓò

¹¦ÄÜ×é×°£º½çÏÞÉÏÏÂÎÄ

2.2¡¢ÁìÓò/×ÓÓò/½çÏÞÉÏÏÂÎÄ

×ÓÓò·ÖÀࣨһ¸ö³£¼û·ÖÀࣩ£º

ºËÐÄÓò£ººËÐÄÒµÎñ

Ö§³Å×ÓÓò£º×¨×¢ÓÚÒµÎñµÄijһ·½Ãæ

ͨÓÃ×ÓÓò£ºÓÃÓÚÕû¸öÒµÎñϵͳ

½çÏÞÉÏÏÂÎÄ£º

ÁìÓò´æÔÚÓÚ½çÏÞÉÏÏÂÎÄÖÐ

ÿ¸öÄ£Ð͸ÅÄî¡¢ÊôÐԺͲÙ×÷£¬Ôڱ߽çÖ®ÄÚÓÐÌØÊ⺬Òå

²ð·ÖÉÏÏÂÎĵIJßÂÔ£º¼¸¸ö¿ÉÒÔ¿¼ÂǵĽǶÈ

¸ù¾ÝÒµÎñ/ͨÓÃÓïÑÔ£¨ºÏÊÊ£©

¸ù¾Ý¼¼Êõ¼Ü¹¹£¨²»½¨Ò飩

¸ù¾Ý¿ª·¢ÈÎÎñ·ÖÅ䣨²»½¨Ò飩

Ò»¸öÍŶÓÒ»¸öÉÏÏÂÎÄ£¨ºÏÊÊ£©

2.3¡¢ÎÒÃǵݸÀý

ÏîÄ¿¼Æ»®ÏµÍ³

ϵͳÍê³É¶Ôij¸öÏîÄ¿ÈÎÎñµÄ·Ö½â

ϵͳµÄÄ¿µÄÊÇÏîÄ¿¼Æ»®µÄÖÆ¶¨

¼Æ»®µÄÖÆ¶¨Í¨¹ýÕÙ¿ªÏîÄ¿»áÒéµÄ·½·¨½øÐÐ

ÏîÄ¿»áÒéµÄÓë»áÈËÔ±ÐèҪȷ±£Éí·ÝµÄÓÐЧÐÔ

˼·£º

¼ÙÏëÒµÎñÁ÷³Ì

Î§ÈÆÁìÓòÇý¶¯Éè¼ÆµÄÀíÄîºÍʵ¼ù

´Ó²ßÂÔµÄÉè¼Æµ½¼¼ÊõµÄÉè¼Æ

²ã²ãÆÊÎöºÍÑݽø

³õ²½ÉÏÏÂÎIJð·Ö

2.4¡¢×éÖ¯ºÍ¼¯³Éģʽ

´óÄàÇò·ç¸ñ£¨Big ball of mud£©

ʵ¼ùÖбȽϳ£¼û£¬Ëæ×ÅÒµÎñ¸´ÔÓ£¬Âß¼­¶Ñ»ý£¬µ¼Ö½ṹ²»ÇåÎú£¬±ß½çÄ£ºý

¸Ä½ø£º²ð·Öºó¼¯³É

¸ß²ã´ÎµÄ¼Ü¹¹·ÖÎö£ºÉÏÓΣ¨Upstream£©ÏÂÓΣ¨Downstream£©

¼¯³ÉµÄ¹Ø×¢µã£º

ÉÏÏÂÎÄÖ®¼äµÄ¹ØÏµÈçºÎ£¨Ë­ÊÇÉÏÓÎË­ÊÇÏÂÓΣ©

²»Í¬¿ª·¢ÍŶÓÖ®¼äµÄ¹ØÏµÈçºÎ

ÍŶÓÖ®¼äµÄ¹ØÏµ£º×éÖ¯ºÍ¼¯³Éģʽ

ºÏ×÷¹ØÏµ£º¹²Í¬³É°Ü

¹²ÏíÄںˣº¹²ÏíÄÚºËÏÔʽ±ß½çºÍСÐÍ»¯

¿Í»§·½/¹©Ó¦·½£ºÉÏÓÎ/ÏÂÓΣ¬ÏÂÓÎÊÜÉÏÓÎÓ°Ïì¾Þ´ó£»Ö÷Á÷ģʽµ«²»ÊÇ×îºÃģʽ

×ñ·îÕߣºÉÏÓÎÎÞÍÆ¶¯Á¦£¬ÏÂÓÎÖ»ÄÜÍ×Э»òÁíıËû·

ÉÏÃæ¼¸ÖÖ²»ÊôÓڽϺõķ½·¨£¬ÒÔÏÂÊDZȽϺõķ½·¨

·À¸¯²ã£¨Anticorruption Layer£©£ºÏÂÓοͻ§¸ù¾ÝÁìÓòÄ£ÐÍ´´½¨µ¥¶ÀÒ»²ã£¨¿ÉÒÔÀí½âΪÃÅÃæ£¿»òÊÊÅäģʽ£¿£©

¿ª·ÅÖ÷»ú£¨Open Host£©£º¶¨ÒåЭÒ飬ÈñðÈËͨ¹ýЭÒé·ÃÎÊ£¨ÈçRESTful·ç¸ñ£©

·¢²¼ÓïÑÔ£¨Published Language£©£º¹²ÏíÓïÑÔÍê³É¼¯³É½»Á÷£¨Èç·¢²¼¶ÔÓ¦APIÎĵµ£©

2.5¡¢ÉÏÏÂÎɼ¼Êõ

¿ª·ÅÖ÷»ú·þÎñ

ÉÏÓÎÉÏÏÂÎÄÌṩ

REST

·¢²¼ÓïÑÔ

ÉÏÓÎÉÏÏÂÎÄÌṩ

XML/JSON/...

ÏûϢʼþ

·À¸¯²ã

ÏÂÓÎÉÏÏÂÎÄÌṩ

2.6¡¢°¸ÀýÖеÄÉÏÏÂÎÄ

OHS/PL/ACL£º·Ö±ðÊÇÉÏÃæËµµÄ3ÖֽϺõɼ¼Êõ

Èý¡¢ÁìÓòÇý¶¯¼Ü¹¹

ÁìÓòÇý¶¯£¬²»½öÊDzßÂÔ¼¼Êõ£¬»¹°üº¬¼¼ÊõÉè¼Æ

3.1¡¢·Ö²ã¼Ü¹¹

Ñϸñ·Ö²ã£ºÖ»Äܵ÷ÏÂÃæÒ»²ã

ËÉÉ¢·Ö²ã£º¿ÉÒÔËæÒâµ÷ÓÃ

ÁìÓòÖÐÒ»°ã¶¼Êǰüº¬½Ó¿Ú£¬½Ó¿ÚÓÉÆäËû²ãʵÏÖ¡£

ÈçºÎʵÏÖ£¿ÒÀÀµµ¹Öã¿Spring¿ò¼Ü£¿

ÔÚÁìÓòÇý¶¯ÖУ¬·Ö²ãµÄ¸ÅÄîÒѾ­²»ÊÇÄÇÃ´ÖØÒª

3.2¡¢Æ½ÃæÐͼܹ¹£¨ÖØÒªµÄ¼Ü¹¹£©

ÁìÓòÇý¶¯ÍƳç

Ϊʲô£¿

ÒòΪ

1¡¢ÏµÍ³ÒÀÀµ¸´ÔÓµÄÁìÓòÄ£ÐÍ£¬ÁìÓòÄ£ÐÍÓ¦¸Ã·ÅÖм䱻ÆäËüÄ£¿éÒÀÀµ

2¡¢ÓнçÏÞÉÏÏÂÎÄ£¬ÐèÒªºÍÆäËü·þÎñ½»»¥

·Ö²ã¼Ü¹¹²»Ì«ÈÝÒ×ʵÏÖ

»ù´¡¼Ü¹¹£º

ÓÉÄÚ¶øÍâÎ§ÈÆÁìÓòÄ£ÐÍÕ¹¿ª

Ó¦ÓóÌÐò°üº¬ÒµÎñÂß¼­

ÊÊÅäÆ÷

¶àÖÖÊÊÅäÆ÷

Êý¾Ý³Ö¾Ã»¯

Êý¾Ý¼¯³É

ÃæÏò½á¹¹ºÍMock»úÖÆ

3.3¡¢SOA¼Ü¹¹

¸ù¾ÝÊÊÅäÆ÷µÄ²»Í¬Ðг̲»Í¬µÄ·ç¸ñ

3.4¡¢RESTful·ç¸ñ

4¡¢CQRS

´«Í³Êý¾Ý²Ù×÷

ÃüÁîÓë²éѯְÔð·ÖÀë

½â¾öÁìÓòÊý¾ÝºÍ½çÃæÏÔʾµÄÆ¥Åä

5¡¢EDA

   
2734 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
 
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ