Èí¼þ¿ª·¢Òª¸Éʲô£º
1.·´Ó³ÕæÊµÊÀ½çÒª×Ô¶¯»¯µÄÒµÎñÁ÷³Ì
2.½â¾öÏÖʵÎÊÌâ
ÁìÓòDomain
1.DomainÌØÖ¸Èí¼þ¹Ø×¢µÄÁìÓò
2.ÔÚ²»Äܳä·ÖÁ˽âÒµÎñÁìÓòµÄÇé¿öÏÂÊDz»¿ÉÄÜ×ö³öÒ»¸öºÃµÄÈí¼þ
ÁìÓò½¨Ä£




ÁìÓòÄ£ÐÍÇý¶¯Éè¼Æ
1.·Ö²ã¼Ü¹¹
2.ʵÌå
3.Öµ¶ÔÏó
4.·þÎñ
5.Ä£¿é
6.¾ÛºÏ
7.¹¤³§
8.×ÊÔ´¿â
·Ö²ã¼Ü¹¹£º

1.½«ÁìÓòÄ£ÐÍÏà¹ØµÄ´úÂ뼯Öе½Ò»¸ö²ãÖУ¬°ÑËü´ÓÓû§½çÃæ¡¢Ó¦Óúͻù´¡ÉèÊ©´úÂëÖзָô¿ªÀ´
2.ÊÍ·ÅÁìÓò¶ÔÏóµÄÏÔʾ×Ô¼º¡¢±£´æ×Ô¼º¡¢¹ÜÀíÓ¦ÓÃÈÎÎñµÈÖ°Ôð£¬ÈÃËüרעÓÚÕ¹ÏÖÁìÓòÄ£ÐÍ
3.¸´ÔӵijÌÐòÇзֳɲã
4.²ãÖвÉÓÃÄÚ¾ÛµÄÉè¼Æ
5.²ã½öÒÀÀµÓÚËüµ×ϵÄÄDzã

ʵÌåentity£º
ÓÐÒ»Àà¶ÔÏóÓµÓÐΨһ±êʶ·û
1.Äܹ»¿çԽϵͳµÄÉúÃüÖÜÆÚÉõÖÁÄܳ¬Ô½Èí¼þϵͳµÄһϵÁеÄÑÓÐøÐԺͱêʶ·û
2.ÕâÑùµÄ¶ÔÏó³ÆÎªÊµÌå¡£
Öµ¶ÔÏó-value Object
1.¶Ôij¸ö¶ÔÏóÊÇʲô²»¸ÐÐËȤ£¬Ö»¹ØÐÄËüÓµÓеÄÊôÐÔ
2.ÓÃÀ´ÃèÊöÁìÓòµÄÌØÊâ·½Ãæ¡¢ÇÒûÓбêʶ·ûµÄÒ»¸ö¶ÔÏ󣬽Ð×öÖµ¶ÔÏó
3.Äܱ»¼òµ¥µÄ´´½¨ºÍ¶ªÆú£¬ÉúÃüÖÜÆÚÖв»»á±»³Ö¾Ã»¯
4.Öµ¶ÔÏó¿ÉÒÔ±»¹²Ïí£¬Öµ¶ÔÏóÓ¦¸Ã²»¿É±ä
·þÎñ-service£¨±Èwebservice¸üϸÁ£¶È·þÎñÃèÊö£©
1.ÁìÓòÖеÄһЩ¶¯´Ê£¬´ú±íÁËÁìÓòÖеÄÒ»¸öÖØÒªµÄÐÐΪ£¬È´²»ÊôÓÚÈκζÔÏó
1)·þÎñÖ´ÐеIJÙ×÷Éæ¼°Ò»¸öÁìÓò¸ÅÄÕâ¸öÁìÓò¸ÅÄîͨ³£²»ÊôÓÚÒ»¸öʵÌå»òÕßÖµ¶ÔÏó
2)±»Ö´ÐеIJÙ×÷Éæ¼°µ½ÁìÓòÖÐµÄÆäËûµÄ¶ÔÏó
3)²Ù×÷ÊÇÎÞ״̬µÄ
2.·þÎñ¶ÔÏó²»ÔÙÓµÓÐÄÚÖõÄ״̬
3.·þÎñ¶ÔÏóµ£µ±ÖØÒªµÄе÷¹¦ÄÜ
4.¿ª·¢Í¨ÓÃÓïÑÔʱ£¬ÁìÓòÖеÄÖ÷Òª¸ÅÄî±»ÒýÈëµ½ÓïÑÔÖУ¬ÓïÑÔÖеÄÃû´ÊºÜÈÝÒ×±»Ó³Éä³É¶ÔÏó¡£
ÓïÑÔÖжÔÓ¦ÄÇЩÃû´ÊµÄ¶¯´Ê±ä³ÉÄÇЩ¶ÔÏóµÄÐÐΪ¡£µ«ÊÇÓÐЩÁìÓòÖе͝×÷£¬ËüÃÇÊÇһЩ¶¯´Ê£¬¿´ÉÏȥȴ²»ÊôÓÚÈκζÔÏó¡£ËüÃÇ´ú±íÁËÁìÓòÖеÄÒ»¸öÖØÒªµÄÐÐΪ£¬ËùÒÔ²»ÄܺöÂÔËüÃÇ»òÕß¼òµ¥µÄ°ÑËüÃǺϲ¢µ½Ä³¸öʵÌå»òÕßÖµ¶ÔÏóÖС£¸øÒ»¸ö¶ÔÏóÔö¼ÓÕâÑùµÄÐÐΪ»áÆÆ»µÕâ¸ö¶ÔÏó£¬ÈÃËü¿´ÉÏÈ¥ÓµÓÐÁ˱¾¸ÃÊôÓÚËüµÄ¹¦ÄÜ¡£
Ä£¿é
1.½«Ïà¹ØÁìÓòÄ£ÐÍÌáÁ¶·ÖÀ࣬·Ö¶øÖÎÖ®
2.½«¸ß¹ØÁª¶ÈµÄÄ£ÐÍ·Ö×éµ½Ò»¸öÄ£¿éÒÔÌṩ¾¡¿ÉÄÜ´óµÄÄÚ¾Û£¨ÒÔÄÜÍêÕûÍê³ÉÈÎÎñΪ׼£©
3.·Ö²ãÊÇˮƽ»®·Ö
4.Ä£¿éÊÇ´¹Ö±»®·Ö(DomainÄÚ²¿)
²Î¿¼¼Ü¹¹¸ÅÊö
1.ÁìÓòÇý¶¯Éè¼Æ(DomainDriven Design)ÓÐÒ»¸ö¹Ù·½µÄsample¹¤³Ì£¬ÃûΪDDDSample
2.¹ÙÍø£ºhttp://dddsample.sourceforge.net/
3.¸Ã¹¤³Ì¸ø³öÁËÒ»ÖÖʵ¼ùÁìÓòÇý¶¯Éè¼ÆµÄ²Î¿¼¼Ü¹¹




¼Ü¹¹¸ÅÊö

Ïêϸ¼Ü¹¹

¼Ü¹¹Ïê½â:Interfaces-½Ó¿Ú²ã

1.¸Ã²ã°üº¬ÓëÆäËûϵͳ½øÐн»»¥µÄ½Ó¿ÚÓëͨÐÅÉèÊ©£¬ÔÚ¶àÊýÓ¦ÓÃÀï
2.¿ÉÄÜÌṩ°üÀ¨WebServices¡¢RMI»òRestµÈÔÚÄÚµÄÒ»ÖÖ»ò¶àÖÖͨÐŽӿÚ
3.¸Ã²ãÖ÷ÒªÓÉFacade¡¢DTOºÍAssemblerÈýÀà×é¼þ¹¹³É£¬ÈýÀà×é¼þ¾ùÊǵäÐ͵ÄJ2EEģʽ
DTO

1.DTO- DataTransfer Object£¨Êý¾Ý´«Êä¶ÔÏ󣩣¬Ò²³£±»³Æ×÷VO-ValueObject(Öµ¶ÔÏó)
2.DTOÉè¼ÆÖ®³õÊÇΪÁ˽«Ï¸Á£¶ÈµÄÁìÓò¶ÔÏó°üװΪ´ÖÁ£¶ÈµÄÊý¾Ý½á¹¹£¬¼õÉÙÍøÂçͨÐŲ¢¼ò»¯µ÷ÓýӿÚ
DTO ×÷ÓÃ
1.¼õÉÙÍøÂçÁ÷Á¿
2.¼ò»¯Ô¶³Ì¶ÔÏóºÍÔ¶³Ì½Ó¿Ú
3.´«Êä¸ü¶àµÄÊý¾Ý¼õÉÙÔ¶³Ìµ÷ÓôÎÊý
4.±ÜÃ⽫ÁìÓò״̬¿ç²ã´Î´«µÝ
5.ÓÉÓÚͬ²½ºÍ°æ±¾¿ØÖÆÔö¼ÓÁ˸´ÔÓÐÔ
DTO Ó¦ÓÃʱÐòͼ

Assembler

1.DTOÓëÁìÓò¶ÔÏóÖ®¼äµÄÏ໥ת»»¹¤×÷¶àÓÉAssembler³Ðµ£
2.Òò´ËAssembler¼¸ºõ×ÜÊÇͬDTOÒ»Æð³öÏÖ¡£
Assembler ʵÏÖ·½°¸

Fa?ade

1.ʵ¼ùFacadeµÄ¹ý³ÌÖÐ×îÄѰÑÎÕµÄÎÊÌâ¾ÍÊÇFacadeµÄÁ£¶ÈÎÊÌâ¡£
2.´«Í³µÄService¾ùÒÔʵÌåΪµ¥Î»½øÐÐ×éÖ¯£¬¶øFacadeÓ¦¸Ã¾ßÓиü´ÖÁ£¶ÈµÄ×éÖ¯ÒÀ¾Ý£¬½ÏΪºÏÊʵÄÁ£¶ÈÒÀ¾ÝÓУº
3.Ò»¸ö¸ß¶ÈÄÚ¾ÛµÄÄ£¿éÒ»¸öFacade
4.»òÕßÊÇÒ»¸ö¡°¾ÛºÏ¡±(ÌØÖ¸ÁìÓòÇý¶¯Éè¼Æ)Ò»¸öFacade.
Facade ʵÏÖ·½°¸

Facade Ó¦ÓÃʱÐòͼ

Service

1.Service»áÓë¶àÖÖ×é¼þ½øÐн»»¥
2.ÕâЩ×é¼þ°üÀ¨£º
1)ÆäËûµÄService
2)ÁìÓò¶ÔÏó
3)Repository
4)DAO
Service Ó¦ÓÃʱÐòͼ

Domain-ÁìÓò²ã

1.Domain²ãÊÇÕû¸öϵͳµÄºËÐIJ㣬¸Ã²ãά»¤Ò»¸öʹÓÃÃæÏò¶ÔÏó¼¼ÊõʵÏÖµÄÁìÓòÄ£ÐÍ£¬¼¸ºõÈ«²¿µÄÒµÎñÂß¼»áÔڸòãʵÏÖ
2.Domain²ã°üº¬:
1)Entity£¨ÊµÌ壩
2)ValueObject(Öµ¶ÔÏó)
3)Domain Event£¨ÁìÓòʼþ£©
4)Repository£¨²Ö´¢£©µÈ
Infrastructure-»ù´¡ÉèÊ©²ã
1.»ù´¡ÉèÊ©²ãnfrastructureΪInterfaces¡¢ApplicationºÍDomainÈý²ãÌṩ֧³Å
2.ËùÓÐÓë¾ßÌåÆ½Ì¨¡¢¿ò¼ÜÏà¹ØµÄʵÏÖ»áÔÚInfrastructureÖÐÌṩ£¬±ÜÃâÈý²ãÌØ±ðÊÇDomain²ã²ôÔÓ½øÕâЩʵÏÖ£¬´Ó¶ø¡°ÎÛȾ¡±ÁìÓòÄ£ÐÍ
3.InfrastructureÖÐ×î³£¼ûµÄÒ»ÀàÉèÊ©ÊǶÔÏó³Ö¾Ã»¯µÄ¾ßÌåʵÏÖ

¡°´«Í³¡±¼Ü¹¹-ƶѪÁìÓòÄ£ÐÍ

DDD && SOA
1.DDD ÁìÓòÄ£ÐÍÇý¶¯Éè¼Æ
2.SOA ÃæÏò·þÎñµÄ¼Ü¹¹ |