±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ¼òÊé,±¾ÎÄÖ÷Òª½éÉÜÁËÁìÓòÇý¶¯Éè¼ÆÍ¨¹ýÉÏÏÂÎÄÓ³Éä(Context
Map)À´ÌÖÂÛÏÞ½çÉÏÏÂÎÄÖ®¼äµÄÐ×÷ÎÊÌâ¡£ |
|
Ò».Àí½âÏÞ½çÉÏÏÂÎÄ
1.ÏÞ½çÉÏÏÂÎĵ͍Òå
ÏÞ½çÉÏÏÂÎÄ:Bounded Context
1£©ÉÏÏÂÎÄ(Context)±íÏÖÒµÎñÁ÷³ÌµÄ³¡¾°Æ¬¶Î
2£©Õû¸öÒµÎñÁ÷³ÌÓÉÖî¶à¾ßÓÐʱÐòµÄ»î¶¯×é³É£¬Ëæ×ÅÁ÷³ÌµÄ½øÐУ¬²»Í¬µÄ»î¶¯Óв»Í¬µÄ½ÇÉ«²ÎÓ룬²¢µ¼ÖÂÉÏÏÂÎÄÇл»
3£©ÉÏÏÂÎÄ(Context)ÆäʵÊǶ¯Ì¬µÄÒµÎñÁ÷³Ì±»±ß½ç(Bounded)¾²Ì¬ÇзֵIJúÎï
ÒÔ×Éѯʦ´Ó³É¶¼µ½ÉîÛÚΪ¿Í»§Ìṩ·þÎñµÄ³¡¾°ÎªÀýÀí½âÏÞ½çÉÏÏÂÎÄ
1£©ÏàͬµÄÈËÎïÔÚ²»Í¬µÄÉÏÏÂÎIJÎÓ벻ͬµÄ»î¶¯£¬ÂÄÐв»Í¬µÄÖ°Ôð
2£©Õû¸öÒµÎñÁ÷³ÌÓÉÖî¶à·ÖÉ¢ÇÒÄ¿±ê²»Í¬µÄ»î¶¯(Actions)×é³É£¬ÕâЩ»î¶¯ÔÚͬһ¸öÉÏÏÂÎÄÖÐΪͬһĿ±êÌṩ·þÎñ

Àí½âÏÞ½çÉÏÏÂÎĵĹؼüµã
1£©ÖªÊ¶£º²»Í¬µÄÏÞ½çÉÏÏÂÎÄÐèÒª²»Í¬µÄÁìÓò֪ʶ£¬Õâʵ¼ÊÉϾÍÊÇÒµÎñÏà¹ØÐÔ
2£©½ÇÉ«£º²ÎÓëµ½Õâ¸öÉÏÏÂÎĵĶÔÏó°çÑݺÎÖÖ½ÇÉ«£¬¸÷ÖÖ½ÇÉ«ÈçºÎÐ×÷
3£©±ß½ç
¸ù¾ÝÒµÎñÏà¹ØÐÔ¡¢ñîºÏÇ¿Èõ³Ì¶È¡¢·ÖÀëµÄ¹Ø×¢µã¶ÔÒµÎñµÄ»î¶¯½øÐйéÀ࣬ÕÒµ½²»Í¬Àà±ðÖ®¼ä´æÔڵı߽磬Õâ¾ÍÊÇÏÞ½çÉÏÏÂÎĵĺ¬Òå
2.ÏÞ½çÉÏÏÂÎĵļÛÖµ
¶Ô²»Í¬±ß½çµÄ¿ØÖÆÁ¦
1£©ÁìÓòÂß¼²ãÃæ:ÏÞ½çÉÏÏÂÎÄÈ·¶¨ÁËÁìÓòÄ£Ð͵ÄÒµÎñ±ß½ç£¬Î¬»¤ÁËÄ£Ð͵ÄÍêÕûÐÔÓëÒ»ÖÂÐÔ£¬´Ó¶ø½µµÍϵͳµÄÒµÎñ¸´ÔÓ¶È
2£©ÍŶӺÏ×÷²ãÃæ:ÏÞ½çÉÏÏÂÎÄÈ·¶¨ÁË¿ª·¢ÍŶӵŤ×÷±ß½ç£¬½¨Á¢ÁËÍŶÓÖ®¼äµÄºÏ×÷ģʽ£¬±ÜÃâÍŶÓÖ®¼äµÄ¹µÍ¨»ìÂÒ£¬´Ó¶ø½µµÍϵͳ¿ª·¢µÄ¹ÜÀí¸´ÔÓ¶È
3£©¼¼ÊõʵÏÖ²ãÃæ:ÏÞ½çÉÏÏÂÎÄÈ·¶¨ÁËϵͳ¼Ü¹¹µÄÓ¦Óñ߽磬±£Ö¤ÁËϵͳ²ãºÍÉÏÏÂÎÄÁìÓò²ã¸÷×ÔµÄÒ»ÖÂÐÔ£¬½¨Á¢ÁËÉÏÏÂÎÄÖ®¼äµÄ¼¯³É·½Ê½£¬´Ó¶ø½µµÍϵͳµÄ¼¼Êõ¸´ÔÓ¶È
ÏÞ½çÉÏÏÂÎÄÊÇÂú×ãÏÂÊöËĸöÌØµãµÄ×ÔÖε¥Ôª
1£©×îСÍ걸:×ÔÖε¥ÔªÂÄÐеÄÖ°ÔðÊÇÍêÕûµÄ£¬Í¬Ê±±ÜÃâÌí¼Ó²»±ØÒªµÄÖ°Ôð
2£©×ÔÎÒÂÄÐÐ:ÓÉ×ÔÖε¥Ôª×ÔÉí¾ö¶¨Òª×öʲô£¬¶ÔÓÚ²»ÊôÓÚ×ÔÉíµÄÐÐΪӦת½»¸øÆäËûÉÏÏÂÎÄ
3£©Îȶ¨¿Õ¼ä:¼õÉÙÍâ½ç±ä»¯¶ÔÏÞ½çÉÏÏÂÎÄÄÚ²¿µÄÓ°Ïì
4£©¶ÀÁ¢½ø»¯:¼õÉÙÏÞ½çÉÏÏÂÎı仯¶ÔÍâ½çµÄÓ°Ïì
3.ÏÞ½çÉÏÏÂÎĵĿØÖÆÁ¦
ÏÞ½çÉÏÏÂÎÄ·ÖÀëÁËÒµÎñ±ß½ç
ÈçÔÚµçÉÌϵͳÖУ¬²úƷʵÌåProductÔÚ²»Í¬µÄÏÞ½çÉÏÏÂÎÄÓв»Í¬µÄº¬Ò壬¹Ø×¢µÄÊôÐÔÓëÐÐΪҲ²»¾¡Ïàͬ
1£©ÔڲɹºÉÏÏÂÎÄ£¬ÐèÒª¹Ø×¢²úÆ·µÄ½ø¼Û¡¢×îСÆð¶©Á¿Ó빩»õÖÜÆÚ
2£©ÔÚÊг¡ÉÏÏÂÎÄ£¬Ôò¹ØÐIJúÆ·µÄÆ·ÖÊ¡¢ÊÛ¼Û£¬ÒÔ¼°ÓÃÓÚ´ÙÏúµÄ¾«ÃÀ?ƬºÍÏúÊÛÀàÐÍ
3£©ÔÚ²Ö´¢ÉÏÏÂÎÄ£¬²Ö¿â?×÷?Ô±¸ü¹ØÐIJúÆ·µÄλÖã¬ÖØÁ¿ÓëÌå»ý£¬ÊÇ·ñÒ×Ë鯷ÒÔ¼°¶©¹º²úÆ·µÄÊýÁ¿
4£©ÔÚÍÆ¼öÉÏÏÂÎÄ£¬ÏµÍ³¹Ø×¢µÄÊDzúÆ·µÄÀà±ð¡¢ÏúÁ¿¡¢ÊÕ²ØÊý¡¢ÕýÃæÆÀ¼ÛÊý¡¢¸ºÃæÆÀ¼ÛÊý¡£
ÀíÏëµÄÉè¼Æ·½°¸ÊÇÈÃÿһ¸öÏÞ½çÉÏÏÂÎÄÓµÓÐ×Ô¼ºµÄÁìÓòÄ£ÐÍProduct

ÏÞ½çÉÏÏÂÎÄÃ÷È·Á˹¤×÷±ß½ç
1£©2PTs(Two-Pizza Teams)¹æÔò:ÈÃÍŶӱ£³ÖÔÚÁ½¸öÅûÈøÄÜÈóÉÔ±³Ô±¥µÄ¹æÄ£(7-10ÈË)
2£©¿µÍþ¶¨ÂÉ(Conway's Law):ÈκÎ×éÖ¯ÔÚÉè¼ÆÒ»Ì×ϵͳʱ£¬Ëù½»¸¶µÄÉè¼Æ·½°¸ÔڽṹÉ϶¼Óë¸Ã×éÖ¯µÄ¹µÍ¨½á¹¹±£³ÖÒ»ÖÂ
3£©DDD°´ÕÕÈí¼þµÄÌØÐÔ(Feature)¶ø·Ç×é¼þ(Component)À´×éÖ¯Èí¼þ¿ª·¢ÍŶÓ
4£©×é¼þÍŶÓ:Êý¾Ý¿â+ǰ¶Ë+ºó¶Ë£¬¸üÈÝÒ×·¢»Óÿ¸öÈ˵ļ¼ÄÜÌØ³¤£¬µ«µ¼ÖÂÍŶӳÉԱȱ·¦¶ÔÒµÎñµÄÁ˽⣬ÈκÎÐ޸Ķ¼Òªºá¿ç¶à¸ö×é¼þÍŶӣ¬¹µÍ¨³É±¾½Ï¸ß
5£©ÌØÐÔÍŶÓ:¶Ë¶Ô¶ËµÄ¿ª·¢´¹Ö±Ï¸·ÖÁìÓòµÄ¿çÖ°ÄÜÍŶӣ¬½«ÐèÇó·ÖÎö¡¢¼Ü¹¹Éè¼Æ¡¢¿ª·¢²âÊԵȶà¸ö½ÇÉ«ôÛºÏÔÚÒ»Æð£¬×¨×¢ÓÚÁìÓòÂß¼


ÏÞ½çÉÏÏÂÎÄ·â×°ÁËÓ¦Óñ߽ç
»®·ÖÏÞ½çÉÏÏÂÎIJ»Ö»´ÓÒµÎñ±ß½çÈ·Á¢£¬»¹Òª¿¼ÂÇ¿ØÖƼ¼Êõ¸´ÔÓ¶È£¬´Ó¶ø±£Ö¤ÏµÍ³ÖÊÁ¿£¬ÀýÈç
1£©¸ß²¢·¢:ÍâÂôϵͳµÄ¶©µ¥ÒµÎñÓëÃŵꡢ֧¸¶µÈÁìÓò´æÔÚÒµÎñÏà¹ØÐÔ£¬µ«ÍâÂô¶©µ¥Ôڸ߷åÆÚ´æÔڸ߲¢·¢Ñ¹Á¦£¬½«¶©µ¥ÒµÎñ×÷Ϊһ¸öµ¥¶ÀµÄÏÞ½çÉÏÏÂÎÄ£¬¿ÉÒÔ´ÓÎïÀí¼Ü¹¹Éϱ£Ö¤¶ÀÁ¢ÐÔ£¬ÔÚ×ÊÔ´·ÖÅäÉÏ×öµ½¸ßÓÅÏȼ¶µØÀ©Õ¹
2£©¹¦ÄÜÖØÓÃ:?¸ö?ÏòÆóÒµ¹ÍÔ±µÄ¹ú¼Ê±¨Ë°ÏµÍ³£¬±¨Ë°ÒµÎñ¡¢ÂÃÓÎÒµÎñÓë Visa ÒµÎñ¶¼ÐèÒªÕË»§¹¦ÄܵÄ?³Å¡£ÏµÍ³¶Ô?»§µÄ×¢²áÓëµÇ¼ÓнÏΪ¸´ÔÓµÄÒµÎñ´¦ÀíÁ÷³Ì¡£´Ó¹¦ÄÜÖØÓõĽǶȿ¼ÂÇ£¬Ó¦¸Ã½«ÕË»§¹ÜÀí×÷Ϊһ¸öµ¥¶ÀµÄÏÞ½çÉÏÏÂÎÄ£¬ÒÔÂú×ãºËÐÄÁìÓò¶ÔÕË»§¹ÜÀíµÄ¹¦ÄÜÖØÓÃ
3£©ÊµÊ±ÐÔ:µçÉÌϵͳÖУ¬¼Û¸ñÊÇÉÌÆ·¸ÅÄîµÄÒ»¸öÖØÒªÊôÐÔ£¬½ö½ö´ÓÒµÎñ½Ç¶È¿¼ÂÇ£¬ÔÚ½øÐÐÁìÓò½¨Ä£Ê±£¬¼Û¸ñ½ö½öÊÇÒ»¸öÆÕͨµÄÁìÓòÖµ¶ÔÏ󣬵«µçÉÌϵͳµÄÉÌÆ·ÊýÁ¿´ïµ½ÊýÊ®ÒÚÖÖ£¬Ã¿Ìì»ñÈ¡ÉÌÆ·ÐÅÏ¢µÄµ÷ÓÃÁ¿ÔÚ·åÖµ´ïµ½ÊýÒÚÄËÖÁÊý°ÙÒÚ´Îʱ£¬¼Û¸ñ¾Í´ÓÒµÎñÎÊÌâ±ä³ÉÁ˼¼ÊõÎÊÌ⡣ΪÁ˱£Ö¤¸ß²¢·¢Ï¼۸ñµÄʵʱÐÔ£¬¿ÉÒÔ½«¼Û¸ñÁìÓò×÷Ϊһ¸ö¶ÀÁ¢µÄÏÞ½çÉÏÏÂÎÄ£¬ÐγÉ×Ô¼ºÓëÖÚ²»Í¬µÄ¼Ü¹¹·½°¸£¬ÒÔÂú×ã¸ß²¢·¢ºÍʵʱÐÔµÄÒªÇó
4£©µÚÈý·½·þÎñ¼¯³É:µçÉÌϵͳÐèÒªÖ§³Ö¶àÖÖ³£¼ûµÄÖ§¸¶ÇþµÀ£¬Èç΢ÐÅ¡¢Ö§¸¶±¦¡¢ÒøÁª¡£¿ÉÒÔ½«Ö§¸¶·þÎñ¼¯³É»®·ÖΪһ¸öµ¥¶ÀµÄÏÞ½çÉÏÏÂÎÄ£¬Ò»·½ÃæÎªÖ§¸¶·þÎñ¶î¿Í»§¶ËÌṩÍêȫͳһµÄÖ§¸¶½Ó¿Ú£¬±£Ö¤½Ó¿Úµ÷ÓÃÉϵıãÀûÐÔÓëÒ»ÖÂÐÔ£¬ÁíÒ»·½Ãæ½â³ýµÚÈý·½Ö§¸¶·þÎñÓëµçÉÌϵͳÄÚ²¿Ä£¿éÖ®¼äµÄñîºÏ£¬±ÜÃâ¡°¹©Ó¦ÉÌËø¶¨¡±
5£©ÒÅÁôϵͳ:½«ÒÅÁôϵͳ»®·ÖΪһ¸öÏÞ½çÉÏÏÂÎÄ£¬ÓÉÓÚÐÂÔöÐèÇóÓëÔÓÐϵͳÔÚÒµÎñÉÏ´æÔÚ½»²æ¹¦ÄÜ£¬Òò¶ø¿ÉÄÜʧȥ²¿·Ö´úÂëµÄÖØÓûú»á£¬µ«¿ÉÒÔ±ÜÃâÔÚй¦ÄÜ¿ª·¢¹ý³ÌÖÐÏÝÈëÒÅÁôϵͳÅÓ´ó´úÂë¿âµÄÄàÕÓ
¶þ.ʶ±ðÏÞ½çÉÏÏÂÎÄ
´ÓÒµÎñ±ß½ç¡¢¹¤×÷±ß½ç¡¢Ó¦Óñ߽çÈý¸ö²ã´Îʶ±ð

1.´ÓÒµÎñ±ß½çʶ±ðÏÞ½çÉÏÏÂÎÄ
ÔÚÊáÀíÖ÷ÒªÒµÎñÁ÷³Ìºó£¬³éÏó³ö²»Í¬µÄÒµÎñ³¡¾°£¬×îºó×ܽá³öÒµÎñ»î¶¯µÄÃèÊö
´ÓÓïÒåÏà¹ØÐÔ·ÖÎöÒµÎñ»î¶¯µÄÃèÊö£¬Èç¹ûÊÇÏàͬµÄÓïÒ壬¿ÉÒÔ×÷Ϊ¹éÀàµÄÌØÕ÷
´Ó¹¦ÄܽǶÈÈ¥·ÖÎöÒµÎñ»î¶¯£¬Èç¹û´æÔÚ¹ØÁªºÍÒÀÀµ£¬¿ÉÒÔ×÷Ϊ¹éÀàµÄÌØÕ÷
2.´Ó¹¤×÷±ß½çʶ±ðÏÞ½çÉÏÏÂÎÄ
È·¶¨ÏÞ½çÉÏÏÂÎĺÏÀíµÄ¹¤×÷Á£¶È
ÍŶÓÖ®¼äÊÇ¡°ÉøÍ¸ÐԱ߽硱£¬²»ÄÜÌ«·â±Õ(¾Ü¾øÍⲿÊäÈë)£¬Ò²²»ÄÜÌ«¿ª·Å(ʧȥÄÚ¾ÛÁ¦)
3.´ÓÓ¦Óñ߽çʶ±ðÏÞ½çÉÏÏÂÎÄ
ÖÊÁ¿ÊôÐÔ:ÀûÓÃÏÞ½çÉÏÏÂÎĽ«¿ÉÄܸıäϵͳ¼Ü¹¹µÄ·çÏÕ¿ØÖÆÔÚÒ»¸ö¼«Ð¡·¶Î§ÄÚ
ÖØÓúͱ仯
1£©ÔËÓÃÖØÓÃÔÔò·ÖÀëµÄÏÞ½çÉÏÏÂÎĶÔÓ¦ÓÚÖ§³Å×ÓÁìÓò£¬×÷ΪÉÏÓÎÉÏÏÂÎÄΪÆäËûÉÏÏÂÎÄÌṩҵÎñÖ§³Å
2£©Ò»¸öÏÞ½çÉÏÏÂÎIJ»Ó¦¸Ã´æÔÚÁ½¸öÒýÆðËü±ä»¯µÄÔÒò
ÒÅÁôϵͳ:¶ÔÒÅÁôϵͳÖÐÐèÒªÌæ»»µÄ×é¼þ½øÐгéÏ󣬴Ӷø½«Ïû·ÑÕßÓëÒÅÁôϵͳÖеÄ×é¼þʵÏÖ½øÐнâñ×îºóÌṩһ¸öеÄ×é¼þʵÏÖ£¬ÔÚ±£Áô³éÏó²ã½Ó¿Ú²»±äµÄÇé¿öÏÂÌæ»»ÒÅÁôϵͳµÄ¾É×é¼þ£¬Íê³É¼¼ÊõÕ»Ç¨ÒÆ
ÒÅÁôϵͳµÄ×é¼þÇ¨ÒÆ

Èý.ÉÏÏÂÎÄÓ³Éä
1.ÉÏÏÂÎÄÓ³Éä¸ÅÊö
ÁìÓòÇý¶¯Éè¼ÆÍ¨¹ýÉÏÏÂÎÄÓ³Éä(Context Map)À´ÌÖÂÛÏÞ½çÉÏÏÂÎÄÖ®¼äµÄÐ×÷ÎÊÌâ
ÉÏÏÂÎÄÓ³ÉäÊÇÒ»ÖÖÉè¼ÆÊֶΣ¬°üÀ¨
1£©¹²ÏíÄÚºË(Shared Kernel)
2£©·À¸¯²ã(Anticorruption Layer)
3£©¿ª·¢Ö÷»ú·þÎñ(Open Host Service)µÈģʽ
Á½¸öÏÞ½çÉÏÏÂÎÄÖ®¼äµÄ¹ØÏµ·½ÏòÓÉÊõÓïÉÏÓÎ(UpStream)ºÍÏÂÓÎ(DownStream)ÃèÊö
1£©ÏÞ½çÉÏÏÂÎÄÓ°Ïì×÷ÓÃÁ¦µÄ·½ÏòÓë³ÌÐòÔ±¹ß³£Àí½âµÄÒÀÀµ·½ÏòÏà·´£¬ÉÏÓÎÓ°ÏìÏÂÓΣ¬ÒâζÏÂÓÎÒÀÀµÓÚÉÏÓÎ
2£©ÏÂÓÎÉÏÏÂÎÄÖеÄÓÃÀý²ÅÊǺËÐÄÁìÓò£¬¶øÉÏÓÎÏÞ½çÉÏÏÂÎÄÊÇÏÂÓÎÏÞ½çÉÏÏÂÎĵŦÄÜÖ§³Å
3£©ÀýÈçÔÚ϶©µ¥³¡¾°ÖУ¬¶©µ¥ÉÏÏÂÎĵ÷ÓÃÖ§¸¶ÉÏÏÂÎÄ£¬Ö§¸¶ÉÏÏÂÎÄÊÇÌṩ¹¦ÄÜÖ§³ÅµÄÉÏÓÎÉÏÏÂÎÄ£¬¶©µ¥ÉÏÏÂÎÄÊÇÏÂÓÎÉÏÏÂÎÄ£¬Ï¶©µ¥ÊǺËÐÄÁìÓò

ÉÏÏÂÎÄÓ³Éäģʽ·ÖΪ
1£©ÍŶÓÐ×÷ģʽ:¶ÔÓ¦ÓÚÍŶÓ(ÉÏÏÂÎÄ)ºÏ×÷µÄ¹¤×÷±ß½ç
2£©Í¨Ðż¯³Éģʽ:´ÓÓ¦Óñ߽çµÄ½Ç¶È·ÖÎöÁËÏÞ½çÉÏÏÂÎÄÖ®¼ä¸ÃÈçºÎͨÐŲÅÄÜÌáÉýÉè¼ÆÖÊÁ¿
2.ÉÏÏÂÎÄÓ³Éäģʽ1£ºÍŶÓÐ×÷
ÍŶÓÐ×÷Ó¦×ñÑ¡°¸÷˾ÆäÖ°£¬È¨Ôð·ÖÃ÷¡±µÄģʽ£¬ÔÚÂú×ãºÏÀí·ÖÅäÖ°ÔðµÄǰÌáÏ£¬½÷É÷µØÈ·±£Ã¿¸öÏÞ½çÉÏÏÂÎĵÄÁ£¶È
DDD¸ù¾ÝÍŶÓÐ×÷µÄ·½Ê½Óë½ôÃ̶ܳȣ¬¶¨ÒåÁ˺Ï×÷¡¢¹²ÏíÄںˡ¢¿Í»§·½-¹©Ó¦·½¿ª·¢¡¢×ñ·îÕß¡¢·ÖÀ뷽ʽÎåÖÖÍŶÓÐ×÷ģʽ
ºÏ×÷¹ØÏµ(Partnership)
±íʾÁ½¸öÏÞ½çÉÏÏÂÎĵÄÍŶӴæÔÚҪôһÆð³É¹¦ÒªÃ´Ò»Æðʧ°ÜµÄÇ¿ñîºÏ¹ØÏµ£¬ÉõÖÁÊÇÔã¸âµÄË«ÏòÒÀÀµ£¬¶ÔÓÚÕâÖÖ²Û¸âµÄºÎÖÖ¹ØÏµ£¬Í¨³£ÓÐÈýÖÖ½â¾ö·½·¨:
1£©¼ÈÈ»Á½¸öÏÞ½çÉÏÏÂÎÄ´æÔÚÈç´Ë½ôÃܵĺÏ×÷¹ØÏµ£¬ËµÃ÷ÓëÆä²ð·Ö£¬²»ÈçÈÃËüÃǺϲ¢ÔÚÒ»Æð
2£©½«²úÉúÌØÐÔÒÀÀµµÄÖ°Ôð·ÖÅäµ½ÕýÈ·µÄλÖ㬾¡Á¦¼õÉÙÒ»¸ö·½ÏòµÄ¶àÓÚÒÀÀµ
3£©Ê¶±ð²úÉúË«ÏòÒÀÀµ»òÑ»·ÒÀÀµµÄÔÒò£¬È»ºó½«Ëü´Ó¸÷¸öÏÞ½çÉÏÏÂÎÄÖаþÀë³öÀ´£¬³ÉΪµ¥¶ÀµÄÏÞ½çÉÏÏÂÎÄ£¬¼´ËùνµÄ¡°¹²ÏíÄÚºË(Shared
Kernel)¡±
¹²ÏíÄÚºË(Shared Kernel)
¹²ÏíÄÚºËÓÃÓÚ±ÜÃâÖØ¸´¡£ÕâÖÖÖØÓÃÒÔÎþÉüÏÞ½çÉÏÏÂÎÄ×ÔÓɸü¸ÄµÄÄÜÁ¦Îª´ú¼Û
¿Í»§·½-¹©Ó¦·½¿ª·¢(Customer-Supplier Development)
ÍŶӺÏ×÷ÖÐ×î³£¼ûµÄºÏ×÷ģʽ£¬ÌåÏÖµÄÊÇÉÏÓÎ(¹©Ó¦·½)ÓëÏÂÓÎ(¿Í»§·½)µÄºÏ×÷¹ØÏµ¡£ÕâÖÖºÏ×÷ÐèÒªÁ½¸öÍŶÓÐÉÌÒÔÏÂÎÊÌâ:
1£©ÏÂÓÎÍŶӶÔÉÏÓÎÍŶÓÌá³öµÄÁìÓòÐèÇó
2£©ÉÏÓÎÍŶÓÌṩµÄ·þÎñ²ÉÓÃʲôÑùµÄÐÒéÓëµ÷Ó÷½Ê½
3£©ÏÂÓÎÍŶÓÕë¶ÔÉÏÓηþÎñµÄ²âÊÔ²ßÂÔ
4£©ÉÏÓÎÍŶӸøÏÂÓÎÍŶӳÐŵµÄ½»¸¶ÈÕÆÚ
5£©µ±ÉÏÓηþÎñµÄÐÒé»òµ÷Ó÷½Ê½·¢Éú±ä¸üʱ£¬¸ÃÈçºÎ¿ØÖƱä¸ü
×ñ·îÕß(Conformist)
¿Í»§·½-¹©Ó¦·½¿ª·¢Ä£Ê½£¬ÊÇÉÏÓÎÍŶÓÂú×ãÏÂÓÎÍŶÓÌá³öµÄÁìÓòÐèÇó£»¶ø×ñ·îÕßģʽ£¬ÊÇÓÉÉÏÓÎÍŶÓÀ´¾ö¶¨ÊÇÏìÓ¦»¹ÊǾܾøÏÂÓÎÍŶÓÌá³öµÄÇëÇó¡£×ñ·îÕßģʽÒâζ×Å
1£©¿ÉÒÔÖ±½ÓÖØÓÃÉÏÓÎÉÏÏÂÎĵÄÄ£ÐÍ(ºÃµÄ)
2£©¼õÉÙÁËÁ½¸öÏÞ½çÉÏÏÂÎÄÖ®¼äÄ£Ð͵Äת»»³É±¾(ºÃµÄ)
3£©Ê¹µÃÏÂÓÎÏÞ½çÉÏÏÂÎĶÔÉÏÓβúÉúÁËÄ£ÐÍÉϵÄÇ¿ÒÀÀµ(»µµÄ)
·ÖÀ뷽ʽ(Separate Ways)
·ÖÀ뷽ʽµÄºÏ×÷ģʽָÁ½¸öÏÞ½çÉÏÏÂÎÄûÓÐÈκιØÏµ
ÀýÈçÔÚµçÉÌÍøÕ¾ÖУ¬Ö§¸¶ÉÏÏÂÎÄÓëÉÌÆ·ÉÏÏÂÎľÍÊÇ·ÖÀ뷽ʽ£¬¶ø»õ±ÒÉÏÏÂÎÄÆäʵÊÇÖ§¸¶ÉÏÏÂÎÄ

3.ÉÏÏÂÎÄÓ³Éäģʽ2£ºÍ¨Ðż¯³É
ÀûÓ÷À¸¯²ãºÍ¿ª·ÅÖ÷»ú·þÎñ½µµÍÏÞ½çÉÏÏÂÎÄÖ®¼äµÄñîºÏ¹ØÏµ
·À¸¯²ã(Anticorruption Layer)
1£©Ôڼܹ¹²ãÃæ£¬Í¨¹ýÒýÈë·À¸¯²ãÓÐЧ¸ôÀëÏÞ½çÉÏÏÂÎÄÖ®¼äµÄñîºÏ
2£©·À¸¯²ãͬʱ»¹¿ÉÒÔ°çÑÝÊÊÅäÆ÷¡¢µ÷Í£Õß¡¢Íâ¹ÛµÈ½ÇÉ«
3£©·À¸¯²ãÍùÍùÊôÓÚÏÂÓÎÏÞ½çÉÏÏÂÎÄ£¬ÓÃÒÔ¸ô¾øÉÏÓÎÏÞ½çÉÏÏÂÎÄ¿ÉÄÜ·¢ÉúµÄ±ä»¯

¿ª·ÅÖ÷»ú·þÎñ(Open Host Service)
1£©¿ª·ÅÖ÷»ú·þÎñ¼´¶¨Ò幫¿ª·þÎñµÄÐÒ飬°üÀ¨Í¨Ðŵķ½Ê½¡¢´«µÝÏûÏ¢µÄ¸ñʽ(ÐÒé)£¬±£Ö¤¿ª·ÅµÄ·þÎñ²»»áÇáÒ××ö³ö±ä»¯
2£©·À¸¯²ãÊÇÏÂÓÎÏÞ½çÉÏÏÂÎĶԿ¹ÉÏÓα仯µÄÀûÆ÷£¬¿ª·ÅÖ÷»ú·þÎñÊÇÉÏÓηþÎñÓÃÀ´ÎüÒý¸ü¶àÏÂÓÎʹÓÃÕßµÄÓÕ¶ü
3£©ÉÏÓÎÏÞ½çÉÏÏÂÎÄÍùÍù»á±»¶à¸öÏÂÓÎÏÞ½çÉÏÏÂÎÄÏû·Ñ£¬Èç¹ûͨ¹ý·À¸¯²ãµÄÐÎʽÐèҪΪÿ¸öÏÂÓÎÌṩһ¸öÏàËÆµÄ·À¸¯²ã£¬ÈßÓà¶È¸ß
·¢²¼/¶©ÔÄʼþ
1£©¼´Ê¹È·¶¨ÁË·¢²¼ÓïÑԹ淶µÄOHS£¬ÈÔÈ»»áµ¼ÖÂÁ½¸öÉÏÏÂÎÄÖ®¼ä´æÔÚñîºÏ¹ØÏµ£¬ÏÂÓÎÏÞ½çÉÏÏÂÎıØÐëÖªµÀÉÏÓηþÎñµÄABC(Address¡¢BindingÓëContract)£¬¶ÔÓÚ²»Í¬µÄ·Ö²¼Ê½ÊµÏÖ£¬»¹ÐèÒªÔÚÏÂÓζ¨ÒåÀàËÆ·þÎñ×®µÄ¿Í»§¶Ë
2£©·¢²¼/¶©ÔÄʼþµÄ·½Ê½ÔÚ½âñîºÏ·½Ãæ×ߵøüÔ¶¡£Ò»¸öÏÞ½çÉÏÏÂÎÄ×÷ΪʼþµÄ·¢²¼·½£¬ÁíÍâµÄ¶à¸öÏÞ½çÉÏÏÂÎÄ×÷ΪʼþµÄ¶©ÔÄ·½£¬¶þÕßµÄÐ×÷ͨ¹ý¾ÓÉÏûÏ¢Öмä¼þ½øÐд«µÝµÄʼþÏûÏ¢À´Íê³É¡£ÔÚÈ·¶¨ÏûÏ¢Öмä¼þºó£¬·¢²¼·½Óë¶©ÔÄ·½Î¨Ò»´æÔÚµÄñîºÏµã¾ÍÊÇʼþ³ÖÓеÄÊý¾Ý
3£©ÊµÀý:´ÓÂò¼ÒËÑË÷ÉÌÆ·²¢½«ÉÌÆ·¼ÓÈ빺Îï³µ¿ªÊ¼£¬µ½Ï¶©µ¥¡¢Ö§¸¶¡¢ÅäËÍÍê³É¶©µ¥½áÊø£¬Õû¸ö¹ý³Ìͨ¹ý·¢²¼/¶©ÔÄʼþ·½Ê½Óɶà¸öÏÞ½çÉÏÏÂÎÄÒ»ÆðÐ×÷Íê³É

µçÉ̹ºÎï·¢²¼-¶©ÔÄÄ£Ê½Éæ¼°µÄÉÏÏÂÎÄ
ËÄ.±æ±ðÏÞ½çÉÏÏÂÎĵÄÐ×÷¹ØÏµ
1.ÏÞ½çÉÏÏÂÎĵÄͨÐű߽ç¶ÔÐ×÷µÄÓ°Ïì
ÏÞ½çÉÏÏßµÄͨÐű߽ç·ÖΪ½ø³ÌÄڱ߽çÓë½ø³Ì¼ä±ß½ç£¬Í¨Ðű߽çÖ±½ÓÓ°ÏìÉÏÏÂÎÄÓ³ÉäģʽµÄÑ¡Ôñ
½ø³Ì¼ä±ß½çÐèÒª¿¼ÂÇ¿ç½ø³Ì·ÃÎʵijɱ¾£¬ÈçÐòÁл¯ºÍ·´ÐòÁл¯¡¢ÍøÂ翪ÏúµÈ¡£ÓÉÓÚ¿ç½ø³Ìµ÷ÓõÄÏÞÖÆ£¬±Ë´ËÖ®¼äµÄ·ÃÎÊÐÒéÒ²²»¾¡Ïàͬ£¬Í¬Ê±»¹ÐèÒª¿ØÖÆÉÏÓÎÏÞ½çÉÏÏÂÎÄ¿ÉÄÜÒýÈëµÄ±ä»¯£¬Ò»¸öµäÐ͵ÄÐ×÷·½Ê½ÊÇͬʱÒýÈ뿪·ÅÖ÷»ú·þÎñ(OHS)Óë·À¸¯²ã(ACL)
1£©ÏÞ½çÉÏÏÂÎÄA¶ÔÍâͨ¹ý¿ØÖÆÆ÷(Controller)ΪÓû§½çÃæ²ã±©Â¶REST·þÎñ£¬¶øÔÚÄÚ²¿Ôòµ÷ÓÃÓ¦ÓòãµÄÓ¦Ó÷þÎñ(Application
Service)£¬È»ºóÔÙµ÷ÓÃÁìÓò²ãµÄÁìÓòÄ£ÐÍ
2£©Èç¹ûÏÞ½çÉÏÏÂÎÄAÐèÒª·ÃÎÊÏÞ½çÉÏÏÂÎÄBµÄ·þÎñ£¬Ôòͨ¹ýÁìÓò²ãµÄ½Ó¿Ú(Interface)µ÷Óûù´¡ÉèÊ©²ãµÄ¿Í»§¶Ë(Client)Íê³É£¬Õâ¸ö¿Í»§¶Ë¼´ÏÞ½çÉÏÏÂÎÄAµÄ·À¸¯²ã
3£©ÏÞ½çÉÏÏÂÎÄB·ÃÎÊÏÞ½çÉÏÏÂÎÄCµÄ·½Ê½ÍêȫһÖ£¬ÏÞ½çÉÏÏÂÎÄCÔòͨ¹ý×ÊÔ´¿â(Repository)½Ó¿Ú¾Óɳ־û¯(Persistence)×é¼þ·ÃÎÊÊý¾Ý¿â

2.Ð×÷¼´ÒÀÀµ
Á½¸öÏÞ½çÉÏÏÂÎÄ´æÔÚÐ×÷£¬Òâζ×ű˴˴æÔÚÒÀÀµ¹ØÏµ£¬Ò»·½ÐèÒªÖªµÀÁíÒ»·½µÄ֪ʶ£¬°üÀ¨
1£©ÁìÓòÐÐΪ:µ¼ÖÂÐÐΪ֮¼äñîºÏµÄÔÒòÊÇʲô£¿Èç¹ûÊÇÉÏÏÂÓιØÏµ£¬ÒªÈ·¶¨ÏÂÓÎÊÇ·ñÊÇÉÏÓηþÎñµÄÕæÕýµ÷ÓÃÕß
2£©ÁìÓòÄ£ÐÍ:ÐèÒªÖØÓñðÈ˵ÄÁìÓòÄ£ÐÍ£¬»¹ÊÇ×Ô¼ºÖØÐ¶¨ÒåÒ»¸öÄ£ÐÍ
3£©Êý¾Ý:ÊÇ·ñÐèÒªÏÞ½çÉÏÏÂÎĶÔÓ¦µÄÊý¾Ý¿âÌṩ֧³ÅÒµÎñÐÐΪµÄ²Ù×÷Êý¾Ý
ÕâÈýÖÖ֪ʶ¶¼½«²úÉúÒÀÀµ
3.ÁìÓòÐÐΪ¼°Æä²úÉúµÄÒÀÀµ
ÁìÓòÐÐΪ
ÁìÓòÐÐΪÔÚÉè¼Æ²ãÃæ¾ÍÊÇÿ¸öÁìÓò¶ÔÏóµÄÖ°Ôð£¬Ö°Ôð¿ÉÒÔÓÉʵÌå(Entity)¡¢Öµ¶ÔÏó(Value Object)¡¢ÁìÓò·þÎñ(Domain
Service)¡¢×ÊÔ´¿â(Repository)»òÕß¹¤³§(Factory)¶ÔÏó³Ðµ£¡£°üÀ¨ÈýÖÖÂÄÐÐÖ°ÔðµÄ·½Ê½
1£©Ç××ÔÍê³ÉËùÓй¤×÷
2£©ÇëÇóÆäËû¶ÔÏó°ïæÍê³É²¿·Ö¹¤×÷(ºÍÆäËû¶ÔÏóÐ×÷)
3£©½«Õû¸ö·þÎñÇëÇóίÍиøÁíÍâµÄ°ïÖú¶ÔÏó
ÁìÓòÐÐΪ²úÉúµÄÒÀÀµ
1£©µ±ÁìÓò¶ÔÏóÂÄÐÐÖ°ÔðµÄ·½Ê½ÎªÉÏÊöµÄºóÁ½ÖÖʱ£¬±ØÈ»Ç£Éæµ½¶ÔÏóÖ®¼äµÄÐ×÷
2£©Ã¿¸öÁìÓò¶ÔÏóÓ¦¸ÃÖ»³Ðµ£×Ô¼ºÉó¤´¦ÀíµÄ²¿·Ö£¬¶ø½«×Ô¼º²»Éó¤µÄÖ°Ôð×ªÒÆµ½±ðµÄ¶ÔÏó
3£©ÊµÀý:µçÉÌϵͳҵÎñ³¡¾°¿Í»§ÒѾѡÔñºÃÒª¹ºÂòµÄÉÌÆ·£¬²¢Í¨¹ý¹ºÎï³µÌá½»¶©µ¥£¬ÄÇôÌá½»¶©µ¥µÄÖ°ÔðÓ¦¸ÃÓɿͻ§ÉÏÏÂÎÄ»¹ÊǶ©µ¥ÉÏÏÂÎÄÂÄÐУ¿
ÁìÓòÐÐΪ²úÉúµÄÒÀÀµ¿ÉÒÔͨ¹ý³éÏó½Ó¿ÚÀ´½âñî
ʵÀý:϶©µ¥³¡¾°µÄÏÞ½çÉÏÏÂÎļܹ¹
1£©ÁìÓò²ã´¦ÓÚÏÞ½çÉÏÏÂÎĵĺËÐÄ
2£©Ó¦Óòã°ü¹üÕû¸öÁìÓò²ã£¬Í¨¹ýRESTful·þÎñÓë×÷Ϊµ÷ÓÃÕßµÄǰ¶ËͨÐÅ
3£©RESTful·þÎñµÈͬÓÚÉÏÏÂÎÄÓ³ÉäÖеĿª·ÅÖ÷»ú·þÎñ(OHS)£¬»òMVCģʽµÄ¿ØÖÆÆ÷(Controller)£¬ÊôÓÚ»ù´¡ÉèÊ©²ãµÄ×é¼þ

3.ÁìÓòÄ£ÐͲúÉúµÄÒÀÀµ
ÒÔ²éѯ¿Í»§¶©µ¥ÐÅϢΪÀý£¬¿ÉÒÔÒýÈë×ÊÔ´¿â¶ÔÏóÀ´ÂÄÐвéѯְÔð¡£²éѯ¶©µ¥Ê±£¬½«SaleOrder×÷Ϊ¾ÛºÏ¸ù£¬¶ÔÓ¦µÄSaleOrderRepository×÷Ϊ×ÊÔ´¿â·Åµ½¶©µ¥ÉÏÏÂÎÄ¡£ÔÚ·Ö²ã¼Ü¹¹ÖУ¬×ÊÔ´¿â¶ÔÏó¿ÉÄܻᱻ·â×°µ½Ó¦Ó÷þÎñÖУ¬Ò²¿ÉÄÜÖ±½Ó±©Â¶¸ø×÷ΪÊÊÅäÆ÷µÄREST·þÎñ£¬ÀýÈç
REST·þÎñµÄµ÷ÓÃÕß²¢·Ç¿Í»§ÉÏÏÂÎÄ£¬¶øÊÇǰ¶Ë»ò¿Í»§¶Ë£¬´Ó¶ø½Ó´¥¿Í»§Óë¶©µ¥µÄ°üº¬¹ØÏµ
ÒÔ¶©µ¥ÉÏÏÂÎÄÔÚ²éѯ¶©µ¥Ê±ÐèÒª»ñµÃ¶©µ¥¶ÔÓ¦µÄÉÌÆ·ÐÅϢΪÀý£¬Ó¦¸Ã²ÉÓÃ×ñ·îÕßģʽ£¬¼´ÔÚ¶©µ¥ÉÏÏÂÎÄÖØÓÃÉÌÆ·ÉÏÏÂÎĵÄÁìÓòÄ£ÐÍ£¿»¹ÊÇÖØÐÂÔÚ¶©µ¥ÉÏÏÂÎ͍ÒåÊôÓÚ×Ô¼ºµÄÓëÉÌÆ·ÓйصÄÁìÓòÄ£ÐÍ£¿
1£©Ñ¡ÔñǰÕߣ¬¼´ÖØÓÃÉÌÆ·ÁìÓò¶ÔÏóʱ£¬¿ÉÒÔÌá¸ß´úÂëÖØÓã¬ÔÚ½ñºóµÄÐÞ¸ÄÖбÜÃâÉ¢µ¯Ê½µÄÐ޸쬵«ÊÇÓÉÓÚÁ½¸öÏÞ½çÉÏÏÂÎĶÔÉÌÆ·µÄÐèÇó²»Í¬£¬ÖØÓõÄÉÌÆ·Ä£ÐÍÐèҪͬʱӦ¶ÔÁ½ÖÖ²»Í¬µÄÐèÇ󣬴ӶøÖ÷¼ü³ÉΪһ¸öµÍÄھ۵ĶÔÏó
2£©Ñ¡ÔñºóÕߣ¬¼´·Ö±ðΪÉÌÆ·ÉÏÏÂÎĺͶ©µ¥ÉÏÏÂÎĽ¨Á¢ÉÌÆ·ÁìÓò¶ÔÏó£¬ËäÈ»»á´øÀ´´úÂëµÄÖØ¸´£¬µ«·ÖÀëµÄÁ½¸öÄ£ÐÍ¿ÉÒÔ¶À×ÔÓ¦¶Ô²»Í¬µÄÐèÇó±ä»¯£¬¼´"¶ÀÁ¢ÑÝ»¯"¡£
Òò´Ë£¬³£³£ÔÚÁ½¸ö²»Í¬µÄÏÞ½çÉÏÏÂÎÄΪÏàͬ»òÏàËÆµÄÁìÓò¸ÅÄî·Ö±ð½¨Á¢¶ÀÁ¢µÄÁìÓòÄ£ÐÍ£¬ÈçÏÂͼËùʾ

4.Êý¾Ý²úÉúµÄÒÀÀµ
DDDÖУ¬Í¨¹ýÁìÓòÄ£Ð͵Ä×ÊÔ´¿â·ÃÎÊÊý¾Ý¿â£¬ÓëÊý¾Ý¿â½»»¥µÄ¶ÔÏóÊÇÁìÓòÄ£ÐͶÔÏó(ʵÌåºÍÖµ¶ÔÏó)£¬¼´Ê¹ÓÐÒÀÀµ£¬Ò²ÊÇÁìÓòÐÐΪÓëÁìÓòÄ£Ð͵¼ÖµÄ
ÓÐʱºò³öÓÚÐÔÄÜ»òÆäËûÔÒò¿¼ÂÇ£¬Ò»¸öÏÞ½çÉÏÏÂÎÄ·ÃÎÊÊôÓÚÁíÒ»¸öÏÞ½çÉÏÏÂÎı߽çµÄÊý¾Ýʱ£¬»áÌø¹ýÁìÓòÄ£ÐͶøÖ±½Óͨ¹ýSQL»ò´æ´¢¹ý³ÌµÄ·½Ê½¶Ô¶àÕűíÖ´ÐйØÁª²éѯ¡£ÕâÖÖ·ÃÎÊ¿çÏÞ½çÉÏÏÂÎÄÊý¾Ý±íµÄ·½Ê½È·ÊµÊÇ×î¼òµ¥×î¸ßЧµÄʵÏÖ·½Ê½£¬µ«ÐèÒªÏÞ½çÉÏÏÂÎÄÖ®¼äÊý¾Ý¿â¹²Ïí
ÕâÖÖÊý¾ÝÒÀÀµÖµµÃ¾¯Ì裬SQLÄËÖÁ´æ´¢¹ý³ÌÐγɵÄÊý¾Ý±í¹ØÁªÄÑÒÔ½âñî¡£Ò»µ©ÏµÍ³¼Ü¹¹ÐèÒª´Óµ¥Ìå¼Ü¹¹(»òÊý¾Ý¿â¹²Ïí¼Ü¹¹)Ñݽøµ½Î¢·þÎñ¼Ü¹¹£¬×î´óµÄÕϰ²»ÊÇ´úÂë²ãÃæ¶øÊÇÊý¾Ý¿â²ãÃæµÄÒÀÀµ£¬¼´´óÁ¿¸´ÔÓµÄSQLÓë´æ´¢¹ý³Ì
SQLÓë´æ´¢¹ý³ÌµÄÎÊÌâÔÚÓÚ
1£©ÎÞ·¨ÎªSQLºÍ´æ´¢¹ý³Ì±àдµ¥Ôª²âÊÔ
2£©SQLÓë´æ´¢¹ý³ÌµÄ¿É¶ÁÐÔͨ³£½Ï²î£¬ÄÑÒÔÖØÓÃ
3£©SQLÓë´æ´¢¹ý³ÌµÄÓÅ»¯²ßÂÔÏÞÖÆÌ«´ó
|