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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
MVVMģʽԭÀí·ÖÎö¼°Êµ¼ù
 
ת×ÔÍøÂç £¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-11-25
  7860  次浏览      27
 

ÕªÒª:Ϊ½â¾öÊÊÓÃÓÚRIAÓ¦ÓÃϵͳ¿ª·¢µÄÉè¼ÆÄ£Ê½µÄÎÊÌ⣬Ìá³öÒý³öMVVMģʽ¡£¸ÃģʽÓÉÊÓͼ¡¢ÊÓͼģÐÍ¡¢Ä£ÐÍÈý²¿·Ö×é³É£¬Í¨¹ýʵÏÖINotifyPropertyChanged½Ó¿Ú£¬½â¾öÄ£Ð͵½ÊÓͼģÐ͵ÄÊý¾Ý´«µ¼ÎÊÌ⣬ʹģÐͶÀÁ¢ÓÚÊÓͼģÐÍ£¬Í¨¹ýʵÏÖICommand½Ó¿Ú£¬½â¾öÊÓͼÖеÄʼþ°ó¶¨ÎÊÌ⣬½áºÏÊý¾Ý°ó¶¨£¬Ê¹ÊÓͼģÐͶÀÁ¢ÓÚÊÓͼ¡£Í¨¹ýʵÏÖ Mediatorģʽ(ÖнéÕßģʽ)Íê³ÉÄ£ÐÍÓëÄ£ÐÍÖ®¼äµÄ½»»¥£¬²¢ÔÚÒ»¶¨³Ì¶ÈÉϼõÉÙÄ£ÐÍÓëÄ£ÐÍÖ®¼äµÄñîºÏ¶È¡£

¹Ø¼ü´Ê RIA Silverlight Model-View-ViewModel ÖнéÕßģʽ

1ÒýÑÔ

RIA(Rich Internet Application)¼¼ÊõÊǽüÄêÀ´·¢Õ¹½Ï¿ìµÄʵÏÖWeb2.0Ó¦Óÿª·¢µÄ¼¼Êõ£¬Ó봫ͳµÄWebÓ¦ÓÃÏà±È£¬RIA¼¼Êõ¸ü¼Ó×·Çó¸ü·á¸»µÄÓû§ÌåÑé¡£ÊÊÓ¦ÕâÖֱ仯£¬RIAÓ¦ÓÃϵͳ¿ª·¢¹ý³ÌµÄ·Ö¹¤ÒªÇó¸ü¼ÓϸÖ£¬Ò»²¿·ÖÈ˸ºÔð½çÃæÉè¼Æ£¬Ò»²¿·ÖÈ˸ºÔðÒµÎñÂß¼­Éè¼Æ¡£ÕâÖÖ·Ö¹¤Ð´×÷¸øÈí¼þÉè¼ÆÄ£Ê½´øÀ´ÐµÄÒªÇó£¬Ò»·½ÃæÒª±£³ÖϵͳÒ×ÓÚÀí½âºÍά»¤¡¢Á¼ºÃµÄÀ©Õ¹ÐԺ͵ÍñîºÏ¶È£¬ÁíÍâÒ»·½ÃæÒª×·ÇóÒµÎñÂß¼­¡¢³ÊÏÖÂß¼­ºÍUIÂß¼­µÄ·ÖÀ룬ʹµÃ½çÃæÉè¼ÆºÍ³ÌÐò¿ØÖÆ¿ª·¢¿ÉÒÔͬ²½½øÐС£Ä¿Ç°ÔÚRIAÓ¦ÓÃϵͳÖпª·¢Ê¹ÓñȽ϶àµÄÓÐMVC(Model-View-Controller)¡¢MVP(Model-View-Presenter)µÈÉè¼ÆÄ£Ê½£¬µ«ÊÇÕâЩģʽ²¢²»ÄÜÍêÈ«½«UIÉè¼Æ·ÖÀ롣Ϊ´Ë½«³ÊÏÖÂß¼­´ÓÊÓͼÖжÀÁ¢³öÀ´£¬Í¬Ê±½«½çÃæÊý¾Ý´ÓÄ£ÐÍÖжÀÁ¢³öÀ´£¬×é³ÉÊÓͼģÐÍ(ViewModel)Ä£¿é£¬ÐγÉÁËMVVM(Model-View-ViewModel)Ä£ÐÍ£¬ÎÒÃÇ¿ÉÒÔÈÏΪMVVMÊÇMVCµÄ±äÖÖ¡£MVVMģʽ²»µ«Äܹ»ÊµÏÖUIÉè¼ÆµÄ·ÖÀ룬¶øÇÒÄܳä·Ö·¢»ÓRIA¼¼ÊõÖеÄÊý¾Ý°ó¶¨µÄ¼¼ÊõºÍÌØµã£¬Ìá¸ßÈí¼þµÄ¸´ÓÃÐÔ¡£

2.Silverlight¼ò½é

SilverlighÊÇÓÉ΢ÈíÍÆ³öµÄ¿çä¯ÀÀÆ÷¡¢¿çƽ̨µÄWebǰ¶ÎÓ¦Óÿª·¢½â¾ö·½°¸£¬ÊÇ΢ÈíRIA²ßÂÔµÄÖ÷ÒªÓ¦Óÿª·¢Æ½Ì¨Ö®Ò»£¬ÒÔä¯ÀÀÆ÷µÄÍâ¹Ò×é¼þ·½Ê½£¬ÌṩWebÓ¦ÓóÌÐòÖжàýÌåÓë¸ß¶È½»»¥ÐÔǰ¶ËÓ¦ÓóÌÐòµÄ½â¾ö·½°¸£¬Í¬Ê±Ò²ÊÇ΢ÈíUX(Óû§ÌåÑé)²ßÂÔÖеÄÒ»»·£¬Ò²ÊÇ΢ÈíÊÓͼ½«ÃÀÊõÉè¼ÆºÍ³ÌÐò¿ª·¢ÈËÔ±µÄ¹¤×÷Ã÷È·ÇзÖÓëЭµ÷ºÏ×÷µÄ·¢Õ¹Ó¦ÓóÌÐòµÄ³¢ÊÔÖ®Ò»¡£

3.MVVM¼ò½é

MVVMģʽÊÇModel-View-ViewModeģʽµÄ¼ò³Æ¡£ÓÉÊÓͼ(View)¡¢ÊÓͼģÐÍ(ViewModel)¡¢Ä£ÐÍ(Model)Èý²¿·Ö×é³É£¬½á¹¹ÈçÏÂͼ¡£Í¨¹ýÕâÈý²¿·ÖʵÏÖUIÂß¼­¡¢³ÊÏÖÂß¼­ºÍ״̬¿ØÖÆ¡¢Êý¾ÝÓëÒµÎñÂß¼­µÄ·ÖÀë¡£

ͼ1 MVVMģʽ¼Ü¹¹Í¼

ʹÓÃMVVMģʽÓм¸´óºÃ´¦£º

1. µÍñîºÏ¡£View¿ÉÒÔ¶ÀÁ¢ÓÚModel±ä»¯ºÍÐ޸ģ¬Ò»¸öViewModel¿ÉÒ԰󶨵½²»Í¬µÄViewÉÏ£¬µ±View±ä»¯µÄʱºòModel¿ÉÒÔ²»±ä£¬µ±Model±ä»¯µÄʱºòViewÒ²¿ÉÒÔ²»±ä¡£

2. ¿ÉÖØÓÃÐÔ¡£¿ÉÒÔ°ÑһЩÊÓͼµÄÂß¼­·ÅÔÚViewModelÀïÃæ£¬ÈúܶàViewÖØÓÃÕâ¶ÎÊÓͼÂß¼­¡£

3. ¶ÀÁ¢¿ª·¢¡£¿ª·¢ÈËÔ±¿ÉÒÔרעÓëÒµÎñÂß¼­ºÍÊý¾ÝµÄ¿ª·¢(ViewModel)¡£Éè¼ÆÈËÔ±¿ÉÒÔרעÓÚ½çÃæ(View)µÄÉè¼Æ¡£

4. ¿É²âÊÔÐÔ¡£¿ÉÒÔÕë¶ÔViewModelÀ´¶Ô½çÃæ(View)½øÐвâÊÔ

4. Ä£ÐÍ¡¢ÊÓͼ¡¢ÊÓͼģÐ͵ķֹ¤

1. ÊÓͼ(View)

ÊÓͼ¸ºÔð½çÃæºÍÏÔʾ¡£Ëüͨ¹ýDataContext(Êý¾ÝÉÏÏÂÎÄ)ºÍViewModel½øÐÐÊý¾Ý°ó¶¨£¬²»Ö±½ÓÓëModel½»»¥¡£ ¿ÉÒÔ°ó¶¨Behavior/ComandÀ´µ÷ÓÃViewModelµÄ·½·¨£¬CommandÊÇViewµ½ViewModelµÄµ¥ÏòͨÐУ¬Í¨¹ýʵÏÖSilverlightÌṩµÄIComand½Ó¿ÚÀ´ÊµÏְ󶨣¬ÈÃView´¥·¢Ê¼þ£¬ViewModelÀ´´¦Àíʼþ£¬ÒÔ½â¾öʼþ°ó¶¨¹¦ÄÜ¡£

2. ÊÓͼģÐÍ(ViewModel)

ÊÓͼģÐÍÖ÷Òª°üÀ¨½çÃæÂß¼­ºÍÄ£ÐÍÊý¾Ý·â×°£¬Behavior/CommandʼþÏìÓ¦´¦Àí£¬°ó¶¨ÊôÐÔ¶¨ÒåºÍ¼¯ºÏµÈ¡£ËüÊÇViewºÍModelµÄÇÅÁº£¬ÊǶÔModelµÄ³éÏ󣬱ÈÈ磺ModelÖÐÊý¾Ý¸ñʽÊÇ¡°ÄêÔÂÈÕ¡±£¬¿ÉÒÔÔÚViewModelÖÐת»»ModelµÄÊý¾ÝΪ¡°ÈÕÔÂÄꡱ¹©ViewÏÔʾ¡£

ʵÏÖÊÓͼģÐÍÐèҪʵÏÖSilverlightÌṩµÄ½Ó¿ÚINotifyPropertyChanged£¬ INotifyPropertyChanged½Ó¿ÚÓÃÓÚʵÏÖÊôÐԺͼ¯ºÏµÄ±ä¸ü֪ͨ(Change Notifications)¡£Ê¹µÃÔÚÓû§ÔÚÊÓͼÉÏËù×öµÄ²Ù×÷¶¼¿ÉÒÔʵʱ֪ͨµ½ÊÓͼģÐÍ£¬´Ó¶øÈÃÊÓͼģÐͶÔÏóÓеÄÄ£ÐͽøÐÐÕýÈ·µÄÒµÎñ²Ù×÷¡£

ViewµÄ´úÂëÒþ²Ø(Code-Behind)²¿·Ö¿ÉÄܰüº¬½çÃæÂß¼­»òÕßÓ¦ÓÃÂß¼­µÄ´úÂ룬ÕâЩ´úÂë»áºÜÄѽøÐе¥Ôª²âÊÔ£¬Ó¦¸ù¾Ý¾ßÌåÇé¿ö¾¡Á¿±ÜÃâ¡£

ͼ2 View¡¢ViewModelºÍModelµÄ½»»¥Í¼

Mediatorģʽ

¶Ô²»Í¬View¡¢ViewModelÖ®¼äµÄ²ÎÊý´«µÝ£¬Ò»°ãͨ¹ýʼþʵÏÖÊý¾Ý´«µÝ£¬Ò²¿ÉÒÔ¶¨ÒåÈ«¾Ö¾²Ì¬±äÁ¿À´½øÐÐÊý¾Ý¹²Ïí£¬ÔÚMVVMÀÎÒÃÇ¿ÉÒÔʹÓÃMediatorģʽ(ÖнéÕßģʽ)½øÐиúÓÅÑŵĴ¦Àí¡£¿ÉÒÔ¼òµ¥µÃÀí½âΪ²»Í¬µÄViewModel»òÕßViewÐèÒª½øÐÐÁ˲Ù×÷Ö®ºó£¬ÐèÒªÆäËûViewModel»òÕßView½øÐÐÏàÓ¦µÄÆäËû²Ù×÷»òÕßÊý¾Ý¸üУ¬¶øÖнéÀà¿ÉÒÔ׼ȷµÃ½«¸üÐÂ׼ȷµÃ֪ͨµ½ÕýÈ·µÄViewModel£¬Í¬Ê±ÖнéÕß²¢²»¹ØÐÄViewModel»òÕßViewµÄÈκβÙ×÷»òÕßÊý¾Ý¸üС£

ͼ3 ViewModelͨ¹ýMediatorģʽÓëÆäËûViewModelµÄ½»»¥Í¼

3. Ä£ÐÍ(Model)

ModelÓëMVCģʽһÑù£¬ModelÓÃÓÚ·â×°ÓëÓ¦ÓóÌÐòµÄÒµÎñÂß¼­Ïà¹ØµÄÊý¾ÝÒÔ¼°¶ÔÊý¾ÝµÄ´¦Àí·½·¨¡£Ëü¾ßÓжÔÊý¾ÝÖ±½Ó·ÃÎʵÄȨÀû£¬ÀýÈç¶ÔÊý¾Ý¿âµÄ·ÃÎÊ£¬Model²»ÒÀÀµÓÚViewºÍViewModel£¬Ò²¾ÍÊÇ˵£¬Ä£ÐͲ»¹ØÐĻᱻÈçºÎÏÔʾ»òÊÇÈçºÎ±»²Ù×÷£¬Ä£ÐÍÒ²²»Äܰüº¬ÈκÎÓû§Ê¹ÓõÄÓë½çÃæÏà¹ØµÄÂß¼­¡£ModelÔÚʵ¼Ê¿ª·¢Öиù¾Ýʵ¼ÊÇé¿ö¿ÉÒÔ½øÐÐϸ·Ö¡£±ÈÈçÔÚ¹ãÖÝÊгÇÏç¹æ»®×ÊԴƽ̨¾Í½«Model½«ServiceºÍReposiroty½áºÏΪWCF·þÎñÓÉViewModel½øÐе÷Óá£

ͼ4 ModelµÄϸ·Ö²ã´Î¹ØÏµ

ΪÁ˸üºÃµÄ˵Ã÷MVVMģʽ£¬Í¼5ÊǹãÖÝÊгÇÏç¹æ»®×ÊԴƽ̨ʵÏÖMVVMģʽÉè¼ÆµÄÀà½á¹¹Í¼¡£

ͼ5 MVVMģʽÀà½á¹¹Í¼

4.SilverlightºÍMVVMģʽµÄ×ÛºÏÓ¦ÓÃʵ¼ù

¹ãÖÝÊгÇÏç¹æ»®¿Õ¼ä×ÊԴƽ̨

Ò»¡¢ ¸ÅÊö

¹ãÖÝÊгÇÏç¹æ»®¿Õ¼ä×ÊԴƽ̨ÊÇÒ»¸öÃæÏò³ÇÊй滮µÄGISϵͳ¡£Í¨¹ý¶Ô¸ÃϵͳµÄ½¨ÉèÒÔÂú×ã¹æ»®±àÖÆ¡¢¹æ»®¹ÜÀí¡¢¹æ»®ÊµÊ©¶¯Ì¬¼à¿ØÈý·½ÃæµÄÐèÇóʵÏÖGISÓëOA¡¢GISÓëCADµÄͼÎÄÒ»Ì廯¡£Ìá¸ß³ÇÊй滮¿ÆÑ§ÐԺ͹ÜÀíˮƽ£¬ÊµÏÖͳһ¹æ»®¡¢×ÊÔ´ÕûºÏ¡¢ÐÅÏ¢¹²Ïí¡¢¿ª·Å·þÎñµÈÄ¿±ê¡£

¶þ¡¢¼¼ÊõÌØµã

ÏîÄ¿²ÉÓÃWebService¼¼Êõ´î½¨¿çƽ̨µÄ¡¢¿É»¥²Ù×÷µÄ·Ö²¼Ê½Ó¦ÓóÌÐòƽ̨£¬²ÉÓÃSilverlight¼¼Êõ£¬Ê¹ÓÃÁËMVVMģʽ£¬½áºÏGIS Server·þÎñºÍWeb Service·þÎñµÈ½øÐпª·¢¡£

ϵͳÖжÔÓÚµØÍ¼ÏÔʾ²¢²»ÊÇÿһ¸ö·þÎñ¶¼ÐèÒª¼ÓÔØ£¬·þÎñµÄµØÖ·£¬¼ÓÔØÇé¿ö£¬Ä¬ÈÏÉèÖÃÕâЩ¿ÉÒÔ×÷Ϊһ¸öµØÍ¼·þÎñÊý¾ÝÄ£ÐÍ(MapServiceInfo)¡£

ÏÂͼΪƽ̨¶ÔµØÍ¼·þÎñÊý¾ÝÄ£Ð͵IJ¿·Ö¶¨Òå

ͼ6 µØÍ¼Êý¾ÝÄ£ÐͲ¿·Ö¶¨Òå

ΪÁËʵÏÖ¶Ô¸ÃModelµÄ¿ØÖÆ£¬½¨Á¢ÊÓͼģÐÍMapViewModel£¬ÔÚÆäÖÐʵÏÖ¶ÔÊý¾ÝÄ£Ð͵ļÓÔØÄ¬ÈÏͼ²ã¡¢Ôö¼Ó·þÎñͼ²ã£¬´ò¿ª\¹Ø±Õͼ²ãµÈ²Ù×÷µÄ¿ØÖÆ£¬·þÎñµÄ»ñÈ¡µÈ²Ù×÷¡£Óû§¶ÔÊÓͼµÄÈκβÙ×÷¶¼»á¶ÔÊÓͼģÐͽøÐÐÒ»´Î±ä¸ü֪ͨ£¬´Ó¶øÊ¹ÊÓͼģÐÍ¿ÉÒÔʵʱ¶ÔÄ£ÐͽøÐÐÏàÓ¦²Ù×÷¡£

ʵÏÖÊÓͼģÐÍMapViewModelÐèҪʵÏÖSilverlightÌṩµÄ½Ó¿ÚINotifyPropertyChanged£¬ INotifyPropertyChanged½Ó¿ÚÓÃÓÚʵÏÖÊôÐԺͼ¯ºÏµÄ±ä¸ü֪ͨ(Change Notifications)¡£Ê¹µÃÔÚÓû§ÔÚÊÓͼÉÏËù×öµÄ²Ù×÷¶¼¿ÉÒÔʵʱ֪ͨµ½ÊÓͼģÐÍ£¬´Ó¶øÈÃÊÓͼģÐͶÔÏóÓеÄÄ£ÐͽøÐÐÕýÈ·µÄÒµÎñ²Ù×÷¡£

ÏÂͼΪ¹ãÖÝÊгÇÏç¹æ»®×ÊԴƽ̨ÖжÔINotifyPropertyChanged½Ó¿ÚµÄʵÏÖ·½Ê½£º

ͼ7 MapViewModel¶Ô½Ó¿ÚINotifyPropertyChangedµÄʵÏÖ

½¨Á¢ÍêÊÓͼģÐÍÖ®ºó£¬ÔÚ¸÷¸öÊÓͼÖÐͨ¹ýDataContext(Êý¾ÝÉÏÏÂÎÄ)ÓëÊÓͼģÐͽøÐа󶨣¬Í¨¹ýÏàÓ¦µÄCommand¶ÔÊÓͼģÐͽøÐвÙ×÷¡£CommandÊÇViewµ½ViewModelµÄµ¥ÏòͨÐУ¬Í¨¹ýʵÏÖSilverlightÌṩµÄIComand½Ó¿ÚÀ´ÊµÏְ󶨣¬ÈÃView´¥·¢Ê¼þ£¬ViewModelÀ´´¦Àíʼþ£¬ÒÔ½â¾öʼþ°ó¶¨¹¦ÄÜ¡£IComand½Ó¿Ú½á¹¹ÈçÏÂËùʾ£º

ͼ8 ICommand½Ó¿ÚÃèÊö

ÓÉÓÚSilverlight¶ÔICommandµÄ¹¦ÄÜÖ§³Ö²¢²»¶à£¬Îª´ËÐèÒª¶ÔICommand½Ó¿Ú½øÐÐʵÏÖÀ´ÌṩViewºÍViewModelÖ®¼äµÄʼþ°ó¶¨¡£ÏÂͼΪ¹ãÖÝÊгÇÏç¹æ»®×ÊԴƽ̨ÖжÔICommand½Ó¿ÚµÄʵÏÖ·½Ê½£º

ͼ9 ¶ÔICommand½Ó¿ÚµÄʵÏÖ

È»ºóͨ¹ýÔÚMapViewModelÖÐÌí¼ÓÏà¹ØICommand½Ó¿ÚµÄÊôÐÔ£¬ÒÔ¹©View½øÐаó¶¨Ê¹Óá£ÈçÏÂͼ£º

ͼ10 ÔÚViewModelÖÐÌí¼ÓÏà¹ØICommandÊôÐÔ

¾ßÌåµÄÀà½á¹¹Í¼Èçͼ7Ëùʾ¡£

½Ó×ÅÍê³ÉView¶ÔMapViewModelµÄ°ó¶¨²Ù×÷£¬ÕâÀïÎÒÃÇ¿ÉÒÔͨ¹ýMicrosoft Expression BlendÕâ¸ö¹¤¾ßÀ´Íê³É¡£ÒÔͼ²ã¹ÜÀíÃæ°åΪÀý£¬ÏÂͼÊÇͨ¹ýBlend¹¤¾ßÉè¼ÆºÃµÄView½çÃæ£º

ͼ11 ͨ¹ýBlendÉè¼ÆºÃView

½Ó×Å¿ªÊ¼½øÐÐViewµ½ViewModelµÄ°ó¶¨¹ý³Ì£¬ÔÚÏà¹ØViewÖÐÑ¡ÔñDataContext£¬Ñ¡ÔñData Binding¡­£º

ͼ11 ¸øView°ó¶¨DataContext

ÔÚµ¯³öµÄÃæ°åÖÐÑ¡ÔñData Field·ÖÒ³£¬Ñ¡ÔñData sourcesµÄFields£¬ÕÒµ½ÃûΪMapViewModelµÄÏµã»÷OK°´Å¥£¬Íê³ÉView¶ÔViewModelµÄ°ó¶¨¡£

ͼ12 Ñ¡ÔñÒª°ó¶¨µÄViewModel

³ýÁ˰ó¶¨ViewModelÖ®Í⣬»¹ÐèÒª¶ÔÏà¹ØµÄʼþ½øÐа󶨣¬ÔÚµ±Ç°View½çÃæÖÐÌṩÁË¡°Ôö¼ÓÊý¾Ý¡±µÄ¹¦Äܰ´Å¥£¬Ñ¡Ôñ¹¦Äܰ´Å¥£¬ÔÚÓÒ²àµÄÊôÐÔÃæ°åÖÐÕÒµ½Miscellaneous·ÖÒ³£¬Ñ¡ÔñCommandÊôÐÔ£¬ÓÒ¼ü´ò¿ªÉèÖÃÃæ°å£¬Ñ¡ÔñData Binding¡­

ͼ13 °ó¶¨Command(Ò»)

ÔÚµ¯³öµÄÃæ°åÖÐÑ¡ÔñÒª½øÐа󶨵ÄCommandµã»÷OK°´Å¥½øÐа󶨣¬ÈçͼËùʾ

ͼ14 Ñ¡ÔñÒª°ó¶¨µÄCommand(¶þ)

ÔÚView°ó¶¨ViewModelµÄ¹ý³ÌÖÐÊÇÍêÈ«¿ÉÒÔÓɽçÃæÉè¼ÆÊ¦À´½øÐвÙ×÷£¬¶ø²»½øÐÐÈκαàÂëµÄ¡£ÖÁ´Ë£¬Íê³ÉMVVMÉè¼ÆÄ£Ê½µÄÒ»¸ö¹ý³Ì¡£

Ч¹ûͼ

ͼ15 ¹ãÖÝÊгÇÏç¹æ»®¿Õ¼ä×ÊԴƽ̨

Èý¡¢¾ßÌåʵÏÖ

ÈçÏÂÊÓͼ¾ùʹÓÃMapViewModel×÷ΪÊÓͼģÐÍÀ´²Ù×÷Êý¾ÝÄ£ÐÍÍê³ÉÏà¹Ø²Ù×÷¡£

1)ͼ²ã¹ÜÀíÃæ°å£ºÓû§Í¨¹ý´ËÃæ°å½øÐÐͼ²ã·þÎñµÄ²é¿´ºÍ¼ÓÔØ²Ù×÷¡£¶ÔÓÚÒѾ­¼ÓÔØµÄ·þÎñÒÔºìÉ«×ÖÌåÏÔʾ¡£Óû§¿ÉÒÔͨ¹ýÉèÖÃÊý¾ÝÌí¼ÓλÖÃÀ´¾ö¶¨·þÎñÌí¼ÓÔÚÄÄÒ»²ã¡£

ͼ16 ͼ²ã¹ÜÀíÃæ°å

2)ͼ²ã¿ØÖÆÃæ°å:Óû§Í¨¹ý´ËÃæ°å½øÐÐͼ²ãµÄÏÔʾ¿ØÖÆ¡£ÌṩÈȵãͼ²ã¡¢ºÍͼ²ãËÑË÷¹¦Äܼò»¯Óû§²éÕÒͼ²ãµÄ²Ù×÷¡£

ͼ17 ͼ²ã¿ØÖÆÃæ°å

3)Ìõ¼þ×éºÏ²éѯ£ºÓû§Í¨¹ýÔÚÃæ°åÖÐÑ¡ÔñÌØ¶¨µÄͼ²ã·þÎñ£¬Ñ¡ÔñËùÐè×ֶι¹½¨²éѯÌõ¼þÍê³É²éѯ²Ù×÷£¬´Ó¶ø»ñÈ¡ÏàÓ¦µÄÊý¾Ý½á¹û¡£¶ÔÏÔʾµÄ½á¹û£¬Óû§¿ÉÒÔµã»÷½á¹ûÏµØÍ¼½«×Ô¶¯¶¨Î»ÖÁÑ¡ÖÐÏî¡£

ͼ18 Ìõ¼þ×éºÏ²éѯ²Ù×÷

ͼ19 Ìõ¼þ×éºÏ½á¹û²Ù×÷

½áÓï

MVVMģʽºÜºÃµÄ½«UIÂß¼­·ÖÀ뿪À´£¬Ê¹µÃÔÚ¿ª·¢¹ý³ÌÖÐÉè¼ÆÊ¦ºÍ´úÂë±àдԱÖпÉÒԺܺõØÍê³É×Ô¼ºµÄÖ°Ôð¡£´Ó¶ø±£Ö¤Á˳ÌÐòµÄµÍñîºÏ£¬¿ÉÖØÓÃÐÔ£¬¶ÀÁ¢¿ª·¢ºÍ¿É²âÊÔÐÔ¡£

   
7860 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

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

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

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
Visitor Parttern
ÓÉ±í¼°À￴ģʽ
Éè¼ÆÄ£Ê½Ëæ±ÊϵÁÐ
ÉîÈëdz³öÉè¼ÆÄ£Ê½-½éÉÜ
.NETÖеÄÉè¼ÆÄ£Ê½
Ïà¹ØÅàѵ¿Î³Ì

J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Ó¦ÓÃģʽÉè¼ÆJavaÆóÒµ¼¶Ó¦ÓÃ
Éè¼ÆÄ£Ê½Ô­ÀíÓëÓ¦ÓÃ
J2EEÉè¼ÆÄ£Ê½Ö¸ÄÏ
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
Éè¼ÆÄ£Ê½¼°ÆäCSharpʵÏÖ

ijµçÁ¦¹«Ë¾ Éè¼ÆÄ£Ê½Ô­Àí
À¶ÍØÆË Éè¼ÆÄ£Ê½Ô­Àí¼°Ó¦ÓÃ
ÎÀÐǵ¼º½ UML & OOAD
ÌÀɭ·͸Ñз¢ÖÐÐÄ UML& OOAD
Öдïµçͨ Éè¼ÆÄ£Ê½Ô­Àí
Î÷ÃÅ×Ó Ç¶ÈëʽÉè¼ÆÄ£Ê½
 
 
 
¡¡