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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
´óÖÐ̨ģʽÏÂÈçºÎ¹¹½¨¸´ÔÓÒµÎñºËÐÄ״̬»ú×é¼þ
 
×÷ÕߣºËïÐþ
  5024  次浏览      28
 2019-11-15
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËÓÐÏÞ״̬»úÈçºÎ¿ªÊ¼ÔÚÖÐ̨Â䵨£¬ÔÚ½»Ò׳¡¾°Ï£¬¶¨Òå×Ô¼ºµÄ״̬»ú¿ò¼Ü £¬ÒÔ¼°ÖÐ̨ÈçºÎ¸³ÄÜÒµÎñ £¿
±¾ÎÄÀ´×ÔÓÚcsdn£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

´óÖÐ̨սÂÔÏ£¬ÖÐ̨½«¹«Ë¾ÒµÎñµÄ¹«¹²ÄÜÁ¦Ï³Á£¬²¢²ÉÓøü¼ÓºÏÀí¡¢¿É¸´Óõļܹ¹ºÍ¼¼ÊõÀ´ÊµÏÖÕâЩ»ù´¡ÄÜÁ¦¡£ÔÚµçÉÌÐÐÒµÄÚ£¬½«ÃæÁÙ»õÎïµÄ²É¹º¡¢ÉÌÆ·Éϼܡ¢½»Ò×·¢Éú¡¢¶©µ¥×´Ì¬±ä»¯¡¢¿Í·þ½éÈëµÈ´óÁ¿×´Ì¬Î¬»¤¡£Ã¿¸ö״̬֮¼ä¾ßÓкÜÇ¿µÄÂß¼­¹ØÁª¹ØÏµ£¬±ÈÈ磺ÍË¿î²Ù×÷ÔÚ·¢»õǰºÍ·¢»õºó½«ÊÇÍêÈ«²»Í¬µÄÁ÷³Ì£¬Èçͼ 1 ¶©µ¥ÍË¿îÁ÷³Ì¡£

Óɴ˿ɼû£¬¶ÔÓÚ¸´ÔÓ״̬µÄ¹ÜÀíÊÇÒ»¸öÒµÎñÒÀÀµ£¬ÐèÇó¶à±äµÄ³¡¾°¡£ÔÚ¹«Ë¾³õ´´ÆÚ£¬¿ÉÒÔ²ÉÓÃÓ²±àÂ뷽ʽ£¬¶ÔÓÚÿһ¸ö²Ù×÷½øÐÐ״̬Åжϣ¬Ã¿Ò»²½²Ù×÷¶¨ÖÆÒ»Ì×Âß¼­Á´Â·¡£Ëæ×ÅÒµÎñµÄÔö¼Ó£¬¶¨ÖÆ»¯Á´Â·ÏÔÈ»²»ÓÅÑÅ£¬´óÁ¿Á÷³Ì´úÂëÎÞ·¨Î¬»¤£¬´ËʱÖÐ̨ͨÓýâ¾ö˼·¾ÍÓÈÎªÖØÒª£¬ÓÐÏÞ״̬»ú£¨Finite State Machine£¬Ëõд£ºFSM£©¿ªÊ¼ÔÚÖÐ̨Â䵨¡£

1¡¢ÓÐÏÞ״̬»ú

ÓÐÏÞ״̬»ú£¨ÒÔϼò³Æ FSM£©ÓÖ³ÆÓÐÏÞ״̬×Ô¶¯»ú£¬¼ò³Æ×´Ì¬»ú¡£Î¬»ù°Ù¿Æ¶¨ÒåÊDZíʾÓÐÏÞ¸ö״̬ÒÔ¼°ÔÚÕâЩ״̬֮¼äµÄ×ªÒÆºÍ¶¯×÷µÈÐÐΪµÄÊýѧģÐÍ¡£

Õâ¸öÄ£ÐͺÍÒµÎñÖÐ̨Óöµ½µÄÎÊÌâÊ®·ÖÎǺϡ£Í¼ 1 ÊÇ×´Ì¬×ªÒÆÍ¼£¬¿ÉÒÔÓÃÀ´±íʾ״̬»ú£¬´ËÍâ¿ÉÒÔʹÓÃ×´Ì¬×ªÒÆ±íÀ´±íʾ¡£Èçͼ 2 Ëùʾ£º

¿ÉÒÔ¿´³ö£¬FSM ÊÇͨ¹ý³éÏóΪ¶¯×÷ºÍ״̬£¬¹ÜÀíÓÐÏÞ¸ö×´Ì¬×ªÒÆµÄÄ£ÐÍ¡£¶¯×÷ÊÇÔÚ¸ø¶¨Ê±¿ÌÒª½øÐеĻµÄÃèÊö£¬ÎÒÃÇ×ܽᶯ×÷ÀàÐÍÓÐÈçÏ£º

½øÈ붯×÷£ºÔÚ½øÈë״̬ʱ½øÐÐ

Í˳ö¶¯×÷£ºÔÚÍ˳ö״̬ʱ½øÐÐ

ÊäÈ붯×÷£ºÒÀÀµÓÚµ±Ç°×´Ì¬ºÍÊäÈëÌõ¼þ½øÐÐ

×ªÒÆ¶¯×÷£ºÔÚ½øÐÐÌØ¶¨×ªÒÆÊ±½øÐÐ

ÔÚ FSM ¿ò¼ÜÏ£¬½«Á÷Ë®ÏßµÄ״̬Á÷תÁ÷³Ì½øÐÐÁ˳éÏóºÍ½á¹¹»¯£¬½«¸´ÔÓµÄ×´Ì¬×ªÒÆÍ¼£¬·Ö¸î³ÉÏàÁÚ״̬µÄ×îСµ¥Ôª¡£ÕâÑùÏ൱ÓڴÁËÀָ߻ýľ£¬ÔÚÕâÌ×»úÖÆÉÏ¿ÉÒÔ×éºÏ³É¸´ÔÓµÄ×´Ì¬×ªÒÆÍ¼¡£

2¡¢Spring StateMachine

Spring Statemachine ¿ò¼ÜÖ÷ÒªÊǰïÖú¿ª·¢Õß¼ò»¯×´Ì¬»úµÄ¿ª·¢¹ý³Ì£¬ÈÃ״̬»ú½á¹¹¸ü¼Ó²ã´Î»¯£¬ÎÒÃÇÀ´¿´Ï Spring SM ÔõôʵÏÖ¡£Ê×ÏÈ×îСµÄÀÖ¸ßÄ£ÐÍÈçͼ 3 Ëùʾ £º

¼ÙÈçÓÐ״̬ STATE1¡¢STATE2 ºÍʼþ EVENT1¡¢EVENT2¡£Ê¼þÇý¶¯×´Ì¬Á÷ת¡£ÏÂÃæÀ´·ÖÎöÏ Spring SM µÄÖ÷Òª´úÂë¡£

2.1 ÒÀÀµ pom

<dependencies>
<dependency>
<groupId>org.springframework.statemachine</groupId>
<artifactId>spring-statemachine-core</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
</dependencies>

2.2 ´´½¨×´Ì¬»ú

ͨ¹ý×¢½âÀ´×¢²á״̬»úµÄÈýÒªËØ£ºsource¡¢target¡¢event

2.3 ×¢½â¼àÌýÆ÷

ͨ¹ý¼àÌýÆ÷¸Ð֪ʼþ·¢Éú£¬²¢ÏàÓ¦µÄ´¦ÀíÏà¹ØÂß¼­¡£

2.4 ÔËÐÐ״̬»ú

3¡¢½»Ò×ÖÐ̨

ÔÚ½»Ò׳¡¾°£¬¶¨ÒåÁË×Ô¼ºµÄ״̬»ú¿ò¼Ü£¬³éÏóÁË·ûºÏ½»Ò׳¡¾°µÄ״̬½ÇÉ«£º

³õʼ״̬¡¢Ä¿±ê״̬£º×´Ì¬¹ØÏµ

½ÇÉ«£º²»Í¬½ÇÉ«Óв»Í¬µÄ²Ù×÷ȨÏÞ£¬±ÈÈçÂô¼Ò¡¢Âò¼Ò¡¢ÏµÍ³¡¢¿Í·þ

²Ù×÷£º¶ÔӦʼþ

handler£ºÊ¼þ²Ù×÷ÏàÓ¦µÄactionʵÏÖ

Òò´ËÒ»¸öʼþÎÒÃÇ¿ÉÒÔ¶¨ÒåΪ£ºÔÚ½ÇÉ« A£¬ÔÚ³õʼ״̬ S1 Ï£¬Ö´ÐÐ OP1 ²Ù×÷£¬½«Ê¹Óà handler À´´¦Àí£¬Ö´Ðгɹ¦½«×´Ì¬ÉèÖÃΪĿ±ê״̬ S2¡£

3.1 ¸öÐÔ»¯ FSM ³éÏó

¼øÓÚ½»Ò׵ĸöÐÔ»¯ÐèÒª£¬À©Õ¹ÁË״̬±íµÄÌõ¼þ£¬Í¬Ê±Ê¹Óà handler ºÍ Java ·´É䣬À´¶ÔÂß¼­´úÂë½øÒ»²½½á¹¹»¯¡£µ½ÕâÒ»²½ºó£¬ÎÒÃÇ¿ÉÒÔ½«Êý¾ÝÄ£°å´æ´¢µ½Êý¾Ý¿âÖС£Èçͼ 4£º

ͨ¹ý¸ÄÔ죬ºËÐÄ´úÂë FSM Ö´ÐÐÒýÇæÖ»Óв»µ½ 100 ÐС£Í¨¹ý×¢²áÒµÎñ handler£¬¿ÉÒÔÁé»îµÄÀ©³äÒµÎñÄÜÁ¦¡£Í¬Ê±Êý¾Ý״̬µÄά»¤ÊÇͨ¹ý״̬±í£¬¶ø²»ÒÀÀµÊÖ¶¯±àд´úÂ룬Õâ¶ÔÓÚ´úÂëÖÊÁ¿µÄ±£Ö¤¡¢¹¤³Ì»Ø¹é²âÊÔ¶¼½ÚÊ¡ÁË´óÁ¿µÄʱ¼ä¡£Ò²ÎªÖÐ̨ʵÏÖÅäÖû¯×öºÃÁËÆÌµæ¡£

3.2 ÖÐ̨¸³ÄÜÒµÎñ

ÖÐ̨³ÁµíÁË»ù´¡ÄÜÁ¦£¬ÈçºÎʵÏÖ£¿ÖÐ̨ÈçºÎ¸³ÄÜÒµÎñµÄ£¬ÒµÎñÊÇ·ñÂúÒâÄØ£¿

¿´ÏÂÃæÒ»¸öÀý×Ó£¬»ùÓÚ½»Ò×£¬C2C¡¢×ÔÓªÊÇÁ½¸ö¾ßÓм«´óÇø±ðµÄÒµÎñ£¬ËûÃÇÓÐÍêÈ«²»Í¬µÄÁ½Ì×ÒµÎñÁ÷³Ì¡£C2C ƽ̨ÐèÒª¶ÔÂòÂôÁ½¶Ë½øÐе£±££¬¶ø×ÔÓª¸ü¶àµÄÊǸøÓèÂò¼Ò±£Ö¤È¨Òæ¡£¼ò»¯°æÁ÷³Ì£¬Èçͼ 5£º

ͨ¹ýÖÐ̨ FSM ÄÜÁ¦£¬ÎÒÃÇÖ»ÒªÄܽ«×´Ì¬Í¼»æÖƳöÀ´£¬ÄÇôÏàÓ¦µÄ״̬Á÷ת±íÅäÖÃÒ²ÒѾ­²úÉú¡£handler Ö»ÐèÒª¹Ø×¢µ±Ç°²Ù×÷µÄÒµÎñÂß¼­£¬¼«´óµÄ½âñîÁË״̬ºÍÒµÎñ¡£

¿ÉÒÔºÁ²»¿äÕŵÄ˵£¬Ò»¸öÐÂÒµÎñ¹ýÀ´£¬ÖÐ̨ÄÜÔÚ 2 Ììʱ¼äÄÚµ¥ÈËÍê³É״̬»úÅäÖÿª·¢ÉÏÏß¡£Õâ¾ÍÊÇÖÐ̨µÄЧÂÊ¡£

4¡¢×ܽá

FSM ½â¾ö¸´ÔÓÒµÎñ״̬Á÷תµÄÎÊÌ⣬²¢ÒÔ½»Ò×ÒµÎñ½øÐоÙÀý¡£µ«ÊÇ FSM µÄÓ¦Óó¡¾°Ô¶¶àÓÚ½»Òס£±ÈÈç¿Í·þ¹¤µ¥£¬ÉÌÆ·×´Ì¬µÈ¡£µ«²»ÊÇËùÓеÄÁ÷³Ì¶¼ÐèҪʹÓÃFSM£¬ÐèÒª×öºÃÒµÎñÁ÷³ÌµÄÕÛÖУ¬¾ÍÏñÖÐ̨սÂÔ¸üÊÊÓÃÓÚ10-100 ½×¶ÎµÄ¹«Ë¾Ò»Ñù¡£

ͬʱ FSM Ö»ÊÇÒ»¸ö¿ò¼Ü£¬»¹ÐèÒª´î½¨Ò»ÕûÌ×»ùÓÚËüµÄÍâΧҵÎñÂß¼­¡£ÔÚ״̬Á÷ת¹ý³ÌÖУ¬ÒµÎñÂß¼­²ÅÊÇÎÒÃǵļ¡Èâ¡£¿ò¼Ü¾ÍÏñ¹Ç÷ÀÔ¼Êø×ÅÎÒÃÇ£¬´Ó¶øÈü¼Êõ³É³¤¸ü¼Ó½¡¿µ£¬ÕâÒ²Ðí¾ÍÊÇÖÐ̨µÄ÷ÈÁ¦¡£

 
   
5024 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù