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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
OOADÖ®Éè¼ÆÔ­Ôò
 

×÷Õß mudeer2012µÄ²©¿Í£¬»ðÁú¹ûÈí¼þ ·¢²¼ÓÚ£º2014-09-04

  4698  次浏览      19
 

Ò»¡¢Éè¼ÆÔ­ÔòÒâÒå

ΪÁËÉè¼Æ³öÒ»¸öºÃµÄÈí¼þϵͳ¡£ÎÒÃDZØÐë×ñÕÕÒ»¶¨µÄ¹æÔò¡£

ºâÁ¿Èí¼þÉè¼ÆÖÊÁ¿µÄÊ×Òª±ê×¼ÊǸÃÉè¼ÆÊÇ·ñÄÜÂú×ãÈí¼þµÄ¹¦ÄÜÐèÇó¡£³ýÁ˹¦ÄÜÐèÇóÒÔÍ⣬»¹ÓкܶàºâÁ¿Èí¼þÉè¼ÆÖÊÁ¿µÄ±ê×¼£¬°üÀ¨¿É¶ÁÐÔ¡¢¿É¸´ÓÃÐÔ¡¢¿ÉÀ©Õ¹ÐÔ¡¢¿Éά»¤ÐԵȡ£

1¡¢Ò»°ãÒ»¸öºÃµÄÈí¼þ¾ßÓÐÒÔÏÂÌص㣺

¿É¶ÁÐÔ£ºÈí¼þµÄÉè¼ÆÎĵµÊÇ·ñÇáÒ×±»ÆäËû³ÌÐòÔ±Àí½â¡£¿É¶ÁÐÔ²îµÄÉè¼Æ»á¸ø´óÐÍÈí¼þµÄ¿ª·¢ºÍά»¤¹ý³Ì´øÀ´ÑÏÖصÄΣº¦¡£

¿É¸´ÓÃÐÔ£ºÈí¼þϵͳµÄ¼Ü¹¹¡¢Àà¡¢×é¼þµÈµ¥ÔªÄÜ·ñºÜÈÝÒ×±»±¾ÏîÄ¿µÄÆäËü²¿·Ö»òÕßÆäËüÏîÄ¿¸´Óá£

¿ÉÀ©Õ¹ÐÔ£ºÈí¼þÃæ¶ÔÐèÇó±ä»¯Ê±£¬¹¦ÄÜ»òÐÔÄÜÀ©Õ¹µÄÄÑÒ׳̶ȡ£

¿Éά»¤ÐÔ£ºÈí¼þά»¤£¨Ö÷ÒªÊÇÖ¸Èí¼þ´íÎóµÄÐ޸ġ¢ÒÅ©¹¦ÄܵÄÌí¼ÓµÈ£©µÄÄÑÒ׳̶ȡ£

2¡¢Äھ۶ȺÍñîºÏ¶È±ê×¼£º

Äھ۶ȣº

±íʾһ¸öÓ¦ÓóÌÐòµÄµ¥¸öµ¥ÔªËù¸ºÔðµÄÈÎÎñÊýÁ¿ºÍ¶àÑùÐÔ¡£ÄÚ¾ÛÓëµ¥¸öÀà»òÕßµ¥¸ö·½·¨µ¥ÔªÏà¹Ø¡£ºÃµÄÈí¼þÉè¼ÆÓ¦¸Ã×öµ½¸ßÄÚ¾Û¡£

ÀíÏë״̬Ï£¬Ò»¸ö´úÂëµ¥ÔªÓ¦¸Ã¸ºÔðÒ»¸öÄÚ¾ÛµÄÈÎÎñ£¬Ò²¾ÍÊÇ˵һ¸öÈÎÎñ¿ÉÒÔ¿´×÷ÊÇÒ»¸öÂß¼­µ¥Ôª¡£Ò»¸ö·½·¨Ó¦¸ÃʵÏÖÒ»¸öÂß¼­²Ù×÷£¬Ò»¸öÀàÓ¦¸Ã´ú±íÒ»ÖÖÀàÐ͵ÄʵÌå¡£

ÄÚ¾ÛÔ­Ôò±³ºóµÄÖ÷ÒªÔ­ÒòÊÇÖØÓãºÈç¹ûÒ»¸ö·½·¨»òÒ»¸öÀàÖ»¸ºÔðÒ»¸ö¶¨ÒåÃ÷È·µÄÊÂÇ飬ÄÇôÔÚ²»Í¬µÄÉÏÏÂÎÄ»·¾³ÖУ¬Ëü¾ÍÄܸüºÃµØ±»ÔÙ´ÎʹÓá£
×ñÑ­¸Ã¹æÔòµÄÁíÒ»¸öÓŵãÊÇ£¬µ±Ò»¸öÓ¦ÓóÌÐòµÄijЩ·½ÃæÐèÒª×ö³ö¸Ä±äʱ£¬ÎÒÃÇÄܹ»ÔÚÏàͬµ¥ÔªÖÐÕÒµ½ËùÓÐÏà¹ØµÄ²¿·Ö¡£

Èç¹ûÒ»¸öϵͳµ¥ÔªÖ»¸ºÔðÒ»¼þÊÂÇ飬¾Í˵Ã÷Õâ¸öϵͳµ¥ÔªÓкܸߵÄÄھ۶ȣ»Èç¹ûÒ»¸öϵͳµ¥Ôª¸ºÔðÁ˺ܶ಻Ïà¹ØµÄÊÂÇ飬Ôò˵Ã÷Õâ¸öϵͳµ¥ÔªÊÇÄھ۶Ⱥܵ͡£Äھ۶ȺܸߵÄϵͳµ¥ÔªÍ¨³£ºÜÈÝÒ×Àí½â£¬ºÜÈÝÒ×±»¸´Óá¢À©Õ¹ºÍά»¤¡£

Èç¹ûÒ»¸ö·½·¨¿ÉÒÔÓüòµ¥µÄ¡°¶¯´Ê+Ãû´Ê¡±µÄÐÎʽÀ´ÃüÃû£¨ÀýÈ磬loadFile()¡¢getName()£©£¬»òÕßÈç¹ûÒ»¸öÀà¿ÉÒÔÓÃ׼ȷµÄÃû´ÊÀ´ÃüÃû£¨ÀýÈ磬Employee¡¢Student£©£¬ÄÇôÕâÑùµÄÀà»òÕß·½·¨¾ÍÊÇÄھ۶ȽϸߵÄϵͳµ¥Ôª£»·´Ö®£¬Èç¹ûÀà»òÕß·½·¨µÄÃû×Ö±ØÐë°üº¬¡°ºÍ¡±¡¢¡°»ò¡±µÈ×ÖÑù²ÅÄÜ׼ȷ·´Ó³Æ书ÄÜÌØÐԵĻ°£¬ÕâЩÀà»ò·½·¨µÄÄھ۶ȾÍÒ»¶¨²»¸ß¡£

ñîºÏ¶È£º

ñîºÏ¶È±íʾÀàÖ®¼ä¹ØϵµÄ½ôÃ̶ܳȡ£ñîºÏ¶È¾ö¶¨Á˱ä¸üÒ»¸öÓ¦ÓóÌÐòµÄÈÝÒ׳̶ȡ£ÔÚ½ôÃÜñîºÏµÄÀà½á¹¹ÖУ¬¸ü¸ÄÒ»¸öÀà»áµ¼ÖÂÆäËüµÄÀàÒ²ËæÖ®ÐèÒª×ö³öÐ޸ġ£ÏÔÈ»£¬ÕâÊÇÎÒÃÇÔÚÀàÉè¼ÆʱӦ¸Ã±ÜÃâµÄ£¬ÒòΪ΢СµÄÐ޸ĻáѸËÙ²¨¶¯Ó°Ïìµ½Õû¸öÓ¦ÓóÌÐò¡£´ËÍ⣬ÕÒµ½ÐèÒªÐ޸ĵÄËùÓеĵط½ÊDZØÐëµÄ£¬Êµ¼ÊÉϾÍʹµÃÐ޸ıäµÃÀ§ÄѲ¢ÇҺķÑʱ¼ä¡£¶øÔÚËÉÉ¢ñîºÏµÄϵͳÖУ¬ÎÒÃÇ¿ÉÒÔ¸ü¸ÄÒ»¸öÀ࣬²»ÐèÒªÐÞ¸ÄÆäËüÀ࣬¶øÓ¦ÓóÌÐòÈÔÈ»Äܹ»Õý³£¹¤×÷¡£
¸ÅÀ¨ÆðÀ´£¬½ÏµÍµÄñîºÏ¶ÈºÍ½Ï¸ßµÄÄھ۶ȣ¬Ò²¼´ÎÒÃdz£ËµµÄ¡°¸ßÄÚ¾Û¡¢µÍñîºÏ¡±ÊÇËùÓÐÓÅÐãÈí¼þµÄ¹²Í¬ÌØÕ÷¡£

Èç¹ûÒ»¸öÈí¼þµÄÄھ۶ȺÍñîºÏ¶È¶¼·ûºÏÒªÇó£¬ËüÒ²¾Í×ÔÈ»¾ß±¸Á˱ȽϺõĸ´ÓÃÐÔ¡¢¿ÉÀ©Õ¹ÐԺͿÉά»¤ÐÔ¡£

¶þ¡¢7´óÉè¼ÆÔ­Ôò

1¡¢µ¥Ò»Ö°ÔðÔ­Ôò

µ¥Ò»Ö°ÔðÔ­Ôò£¨Single Responsibility Principle£¬SRP£©ÊÇÖ¸£ºËùÓеĶÔÏó¶¼Ó¦¸ÃÓе¥Ò»µÄÖ°Ôð£¬ËüÌṩµÄËùÓеķþÎñÒ²¶¼½öΧÈÆ×ÅÕâ¸öÖ°Ôð¡£»»¾ä»°Ëµ¾ÍÊÇ£ºÒ»¸öÀà¶øÑÔ£¬Ó¦¸Ã½öÓÐÒ»¸öÒýÆðËü±ä»¯µÄÔ­Òò£¬ÓÀÔ¶²»ÒªÈÃÒ»¸öÀà´æÔÚ¶à¸ö¸Ä±äµÄÀíÓÉ¡£

ÀàµÄÖ°ÔðÊÇÓɸÃÀàµÄ¶ÔÏóÔÚϵͳÖеĽÇÉ«Ëù¾ö¶¨µÄ¡£

Ò»¸öÀàÈç¹ûÓжà¸öÖ°Ôð£¬Ò²Óжà¸ö¸Ä±äËüµÄÀíÓÉ¡£·´Ö®£¬Èç¹ûÄãÄÜÏëµ½Ò»¸öÀà´æÔÚ¶à¸öʹÆä¸Ä±äµÄÔ­Òò£¬ÄÇôÕâ¸öÀà¾Í´æÔÚ¶à¸öÖ°Ôð¡£

2¡¢¿ª±ÕÔ­Ôò

¿ª±ÕÔ­Ôò£¨Open-Close Principle£¬¼ò³ÆOCP£©ÊÇÖ¸Ò»¸öÈí¼þʵÌ壨Àࡢģ¿é¡¢·½·¨µÈ£©Ó¦¸Ã¶ÔÀ©Õ¹¿ª·Å£¬¶ÔÐ޸Ĺرա£

×ñÑ­¿ª±ÕÔ­ÔòÉè¼Æ³öÀ´µÄÄ£¿é¾ßÓÐÁ½¸ö»ù±¾ÌØÕ÷£º

¶ÔÓÚÀ©Õ¹ÊÇ¿ª·ÅµÄ£¨Open for extension£©£ºÄ£¿éµÄÐÐΪ¿ÉÒÔÀ©Õ¹£¬µ±Ó¦ÓõÄÐèÇó¸Ä±äʱ£¬¿ÉÒÔ¶ÔÄ£¿é½øÐÐÀ©Õ¹£¬ÒÔÂú×ãеÄÐèÇó¡£

¶ÔÓÚ¸ü¸ÄÊÇ·â±ÕµÄ£¨Closed for modification£©£º¶ÔÄ£¿éÐÐΪÀ©Õ¹Ê±£¬²»±Ø¸Ä¶¯Ä£¿éµÄÔ´´úÂë»ò¶þ½øÖÆ´úÂë¡£

ÕâÁ½¸öÌØÕ÷¿´ÆðÀ´ÊÇÏ໥ì¶ÜµÄ¡£À©Õ¹Ä£¿éµÄÐÐΪͨ³£ÐèÒªÐ޸ĸÃÄ£¿éµÄÔ´´úÂ룬¶ø²»ÔÊÐíÐ޸ĵÄÄ£¿éͨ³£±»ÈÏΪÊǾßÓй̶¨µÄÐÐΪ¡£

ʵÏÖ¿ª±ÕÔ­ÔòµÄ¹Ø¼üÔÚÓÚ³éÏ󻯡£ÔÚJavaÖУ¬³éÏ󻯵ľßÌåʵÏÖ¾ÍÊÇʹÓóéÏóÀà»ò½Ó¿Ú¡£

2.1ʹÓóéÏóÀà

ÔÚÉè¼ÆÀàʱ£¬¶ÔÓÚÓµÓй²Í¬¹¦ÄܵÄÏàËÆÀà½øÐгéÏ󻯴¦Àí£¬½«¹«ÓõŦÄܲ¿·Ö·Åµ½³éÏóÀàÖУ¬¶ø½«²»Í¬µÄÐÐΪ·â×°ÔÚ×ÓÀàÖС£ÕâÑù£¬ÔÚÐèÒª¶Ôϵͳ½øÐй¦ÄÜÀ©Õ¹Ê±£¬Ö»ÐèÒªÒÀ¾Ý³éÏóÀàʵÏÖеÄ×ÓÀ༴¿É¡£ÔÚÀ©Õ¹×ÓÀàʱ£¬²»½ö¿ÉÒÔÓµÓгéÏóÀàµÄ¹²ÓÐÊôÐԺ͹²Óз½·¨£¬»¹¿ÉÒÔÓµÓÐ×Ô¶¨ÒåµÄÊôÐԺͷ½·¨¡£

2.2½Ó¿Ú

Óë³éÏóÀ಻ͬ£¬½Ó¿ÚÖ»¶¨ÒåʵÏÖÀàÓ¦¸ÃʵÏֵĽӿڷ½·¨£¬¶ø²»ÊµÏÖ¹«ÓеŦÄÜ¡£ÔÚÏÖÔÚ´ó¶àÊýµÄÈí¼þ¿ª·¢ÖУ¬¶¼»áΪʵÏÖÀඨÒå½Ó¿Ú£¬ÕâÑùÔÚÀ©Õ¹×ÓÀàʱ±ØÐëʵÏָýӿڡ£Èç¹ûÒª¸Ä»»Ô­ÓеÄʵÏÖ£¬Ö»ÐèÒª¸Ä»»Ò»¸öʵÏÖÀ༴¿É¡£

3¡¢ÀïÊÏÌæ»»Ô­Ôò£¨The Liskov Substitution Principle£¬LSP£©

ÔÚÒ»¸öÈí¼þϵͳÖУ¬×ÓÀàÓ¦¸ÃÄܹ»ÍêÈ«Ìæ»»Èκθ¸ÀàÄܹ»³öÏֵĵط½£¬²¢ÇÒ¾­¹ýÌæ»»ºó£¬²»»áÈõ÷Óø¸ÀàµÄ¿Í»§³ÌÐò´ÓÐÐΪÉÏÓÐÈκθı䡣

ÀïÊÏÌæ»»Ô­ÔòʵÏÖÁË¿ª±ÕÔ­ÔòÖеĶÔÀ©Õ¹¿ª·Å¡£ÊµÏÖ¿ª±ÕÔ­ÔòµÄ¹Ø¼ü²½ÖèÊdzéÏ󻯣¬¸¸ÀàÓë×ÓÀàÖ®¼äµÄ¼Ì³Ð¹Øϵ¾ÍÊÇÒ»ÖÖ³éÏ󻯵ÄÌåÏÖ¡£Òò´Ë£¬ÀïÊÏÌæ»»Ô­ÔòÊÇʵÏÖ³éÏ󻯵ÄÒ»Öֹ淶¡£Î¥·´ÀïÊÏÌæ»»Ô­ÔòÒâζ×ÅÎ¥·´ÁË¿ª±ÕÔ­Ôò£¬·´Ö®Î´±Ø¡£ÀïÊÏÌæ»»Ô­ÔòÊÇʹ´úÂë·ûºÏ¿ª±ÕÔ­ÔòµÄÒ»¸öÖØÒª±£Ö¤¡£

Ò»°ãÀ´Ëµ£¬Ö»ÒªÓпÉÄÜ£¬¾Í²»Òª´Ó¾ßÌåÀà¼Ì³Ð¡£ÔÚÒ»¸öÓɼ̳йØϵÐγɵĵȼ¶½á¹¹ÖУ¬Ê÷Ò¶½Úµã¶¼Ó¦µ±ÊǾßÌåÀ࣬Ê÷Ö¦½Úµã¶¼Ó¦¸ÃÊdzéÏóÀà»òÕß½Ó¿Ú¡£

ÀïÊÏÌæ»»Ô­ÔòÊÇʹ´úÂë·ûºÏ¿ª±ÕÔ­ÔòµÄÒ»¸öÖØÒªµÄ±£Ö¤£¬Í¬Ê±£¬ËüÌåÏÖÁË£º

3.1ÀàµÄ¼Ì³ÐÔ­Ôò

ÀïÊÏÌæ»»Ô­Ôò³£ÓÃÀ´¼ì²éÁ½¸öÀàÊÇ·ñΪ¼Ì³Ð¹Øϵ¡£ÔÚ·ûºÏÀïÊÏÌæ»»Ô­ÔòµÄ¼Ì³Ð¹ØϵÖУ¬Ê¹Óø¸Àà´úÂëµÄµØ·½£¬ÓÃ×ÓÀà´úÂëÌæ»»ºó£¬Äܹ»ÕýÈ·µÄÖ´Ðж¯×÷´¦Àí¡£»»¾ä»°Ëµ£¬Èç¹û×ÓÀàÌæ»»Á˸¸Ààºó£¬²»Äܹ»ÕýÈ·Ö´Ðж¯×÷£¬ÄÇôËûÃǵļ̳йØϵ¾ÍÊDz»ÕýÈ·µÄ£¬Ó¦¸ÃÖØÐÂÉè¼ÆËüÃÇÖ®¼äµÄ¹Øϵ¡£

3.2¶¯×÷ÕýÈ·ÐÔ±£Ö¤

ÀïÊÏÌæ»»Ô­Ôò¶Ô×ÓÀà½øÐÐÁËÔ¼Êø£¬ËùÒÔÔÚΪÒÑ´æÔÚµÄÀà½øÐÐÀ©Õ¹£¬À´´´½¨Ò»¸öеÄ×ÓÀàʱ£¬·ûºÏÀïÊÏÌæ»»Ô­ÔòµÄÀ©Õ¹²»»á¸øÒÑÓеÄϵͳÒýÈëеĴíÎó¡£

3.3¶ÔÀàµÄ¼Ì³Ð¹ØϵµÄ¶¨Òå

ÃæÏò¶ÔÏóµÄÉè¼Æ¹Ø×¢µÄÊǶÔÏóµÄÐÐΪ£¬ËüÊÇʹÓá°ÐÐΪ¡±À´¶Ô¶ÔÏó½øÐзÖÀàµÄ£¬Ö»ÓÐÐÐΪһÖµĶÔÏó²ÅÄܳéÏó³öÒ»¸öÀàÀ´¡£

ÎÒÃÇ˵ÀàµÄ¼Ì³Ð¹Øϵ¾ÍÊÇÒ»ÖÖ¡°is-a¡±¹Øϵ£¬Êµ¼ÊÉÏÖ¸µÄÊÇÐÐΪÉϵġ°is-a¡±¹Øϵ£¬¿ÉÒÔ°ÑËüÃèÊöΪ¡°±íÏÖΪ£¬act as¡±¡£

Õý·½ÐÎÔÚÉèÖó¤¶ÈºÍ¿í¶ÈÕâÁ½¸öÐÐΪÉÏ£¬Ó볤·½ÐÎÏÔÈ»ÊDz»Í¬µÄ¡£³¤·½ÐεÄÐÐΪ£ºÉèÖó¤·½Ðεij¤¶ÈµÄʱºò£¬ËüµÄ¿í¶È±£³Ö²»±ä£¬ÉèÖÿí¶ÈµÄʱºò£¬³¤¶È±£³Ö²»±ä¡£Õý·½ÐεÄÐÐΪ£ºÉèÖÃÕý·½Ðεij¤¶ÈµÄʱºò£¬¿í¶ÈËæÖ®¸Ä±ä£»ÉèÖÿí¶ÈµÄʱºò£¬³¤¶ÈËæÖ®¸Ä±ä¡£ËùÒÔ£¬Èç¹ûÎÒÃÇ°ÑÕâÖÖÐÐΪ¼Óµ½¸¸À೤·½ÐεÄʱºò£¬¾Íµ¼ÖÂÁËÕý·½ÐÎÎÞ·¨¼Ì³ÐÕâÖÖÐÐΪ¡£ÎÒÃÇ¡°Ç¿ÐС±°ÑÕý·½Ðδӳ¤·½Ðμ̳йýÀ´£¬¾ÍÔì³ÉÎÞ·¨´ïµ½Ô¤ÆڵĽá¹û¡£

3.4Éè¼ÆÒªÒÀÀµÓÚÓû§ÐèÇóºÍ¾ßÌå»·¾³¡£

¼Ì³Ð¹ØϵҪÇó×ÓÀàÒª¾ßÓлùÀàÈ«²¿µÄÐÐΪ¡£ÕâÀïµÄÐÐΪÊÇÖ¸ÂäÔÚÐèÇó·¶Î§ÄÚµÄÐÐΪ¡£

ÕâÀïÎÒÃÇÒÔÁíÒ»¸öÀí½âÀïÊÏÌæ»»Ô­ÔòµÄ¾­µäÀý×Ó¡°ÍÒÄñ·ÇÄñ¡±À´×öʾÀý¡£ÉúÎïѧÖжÔÓÚÄñÀàµÄ¶¨ÒåÊÇ¡°ºãζ¯ÎÂÑÉú£¬È«ÉíÅûÓÐÓð룬ÉíÌå³ÊÁ÷ÏßÐΣ¬ÓнÇÖʵÄ๣¬ÑÛÔÚÍ·µÄÁ½²à¡£Ç°Ö«ÍË»¯³ÉÒí£¬ºóÖ«ÓÐÁÛ×´ÍâƤ£¬ÓÐËÄÖº¡±¡£´ÓÉúÎïѧ½Ç¶ÈÀ´¿´£¬ÍÒÄñ¿Ï¶¨ÊÇÒ»ÖÖÄñ£¬ÊÇÒ»Öּ̳йØϵ¡£µ«ÊǸù¾ÝÉÏÒ»¸ö¡°Õý·½Ðηdz¤·½ÐΡ±µÄÀý×Ó£¬ÍÒÄñºÍÄñÖ®¼äµÄ¼Ì³Ð¹ØϵÓÖ¿ÉÄܲ»³ÉÁ¢¡£ÄÇô£¬ÍÒÄñºÍÄñÖ®¼äµ½µ×ÊDz»ÊǼ̳йØϵÈçºÎÅжÏÄØ£¿ÕâÐèÒª¸ù¾ÝÓû§ÐèÇóÀ´Åжϡ£

ÏÖÔÚÄñÀàÓÐËĸö¶ÔÍâµÄÐÐΪ£¬ÆäÖÐÁ½¸öÐÐΪ·Ö±ðÂäÔÚAºÍBϵͳÐèÇóÖУ¬ÈçÏÂͼËùʾ¡£

AÐèÇóÆÚÍûÄñÀàÌṩÓë·ÉÏèÓйصÄÐÐΪ£¬¼´Ê¹ÍÒÄñ¸úÆÕͨµÄÄñÔÚÍâ¹ÛÉϾÍÊÇ100%µÄÏàÏñ£¬µ«ÔÚAÐèÇó·¶Î§ÄÚ£¬ÍÒÄñÔÚ·ÉÏèÕâÒ»µãÉϸúÆäËüÆÕͨµÄÄñÊDz»Ò»Öµģ¬ËüûÓÐÕâ¸öÄÜÁ¦£¬ËùÒÔ£¬ÍÒÄñÀàÎÞ·¨´ÓÄñÀàÅÉÉú£¬ÍÒÄñ²»ÊÇÄñ¡£

BÐèÇóÆÚÍûÄñÀàÌṩÓëÓðëÓйصÄÐÐΪ£¬ÄÇôÍÒÄñÔÚÕâÒ»µãÉϸúÆäËüÆÕͨµÄÄñÒ»Öµġ£ËäÈ»Ëü²»»á·É£¬µ«ÊÇÕâÒ»µã²»ÔÚBÐèÇó·¶Î§ÄÚ£¬ËùÒÔ£¬Ëü¾ß±¸ÁËÄñÀàÈ«²¿µÄÐÐΪÌØÕ÷£¬ÍÒÄñÀà¾ÍÄܹ»´ÓÄñÀàÅÉÉú£¬ÍÒÄñ¾ÍÊÇÄñ¡£

ËùÓÐ×ÓÀàµÄÐÐΪ¹¦ÄܱØÐëºÍʹÓÃÕ߶ÔÆ丸ÀàµÄÆÚÍû±£³ÖÒ»Ö£¬Èç¹û×ÓÀà´ï²»µ½ÕâÒ»µã£¬ÄÇô±ØȻΥ·´ÀïÊÏÌæ»»Ô­Ôò¡£

4¡¢ÒÀÀµµ¹×ªÔ­Ôò

ÒÀÀµµ¹×ªÔ­Ôò£¨Dependency Inversion Principle£¬¼ò³ÆDIP£©ÊÇÖ¸½«Á½¸öÄ£¿éÖ®¼äµÄÒÀÀµ¹Øϵµ¹ÖÃΪÒÀÀµ³éÏóÀà»ò½Ó¿Ú¡£¾ßÌåÓÐÁ½²ãº¬Ò壺

4.1¸ß²ãÄ£¿é²»Ó¦¸ÃÒÀÀµÓڵͲãÄ£¿é£¬¶þÕ߶¼Ó¦¸ÃÒÀÀµÓÚ³éÏó

4.2 ³éÏó²»Ó¦¸ÃÒÀÀµÓÚϸ½Ú£¬Ï¸½ÚÓ¦¸ÃÒÀÀµÓÚ³éÏó

¾ßÌåñîºÏ¹Øϵ£º·¢ÉúÔÚÁ½¸ö¾ßÌåµÄ£¨¿ÉʵÀý»¯µÄ£©ÀàÖ®¼ä£¬¾­ÓÉÒ»¸öÀà¶ÔÁíÒ»¸ö¾ßÌåÀàµÄÖ±½ÓÒýÓÃÔì³É¡£

³éÏóñîºÏ¹Øϵ£º·¢ÉúÔÚÒ»¸ö¾ßÌåÀàºÍÒ»¸ö³éÏóÀࣨ»ò½Ó¿Ú£©Ö®¼ä£¬Ê¹Á½¸ö±ØÐë·¢Éú¹ØϵµÄÀàÖ®¼ä´æÓÐ×î´óµÄÁé»îÐÔ¡£

ÃæÏò½Ó¿Ú±à³Ì£º

Ôڸ߲ãÄ£¿éºÍµÍ²ãÄ£¿éÖ®¼ä¶¨ÒåÒ»¸ö³éÏó½Ó¿Ú£¬¸ß²ãÄ£¿éµ÷ÓóéÏó½Ó¿Ú¶¨ÒåµÄ·½·¨£¬µÍ²ãÄ£¿éʵÏָýӿڡ£

ÒÀÀµµ¹×ªÔ­ÔòµÄ±¾ÖʾÍÊÇÒªÇó½«ÀàÖ®¼äµÄ¹Øϵ½¨Á¢ÔÚ³éÏó½Ó¿ÚµÄ»ù´¡Éϵġ£Í¨¹ýÉÏÃæµÄ·½Ê½£¬½«´íÎóµÄÒÀÀµ¹Øϵµ¹×ª¹ýÀ´£¬Ê¹¾ßÌåʵÏÖÀàÒÀÀµÓÚ³éÏóÀàºÍ½Ó¿Ú¡£Õâ¾ÍÊÇÒÀÀµµ¹×ªÔ­ÔòÖС°µ¹×ª¡±µÄÓÉÀ´¡£

ÒÔ³éÏó·½Ê½ñîºÏÊÇÒÀÀµµ¹×ªÔ­ÔòµÄ¹Ø¼ü¡£

5¡¢×éºÏ/¾ÛºÏ¸´ÓÃÔ­Ôò

×éºÏ/¾ÛºÏ¸´ÓÃÔ­Ôò£¨Composite/Aggregation Reuse Principle£¬CARP£©ÊÇÖ¸Òª¾¡Á¿Ê¹ÓÃ×éºÏ/¾ÛºÏ¶ø·Ç¼Ì³ÐÀ´´ïµ½¸´ÓÃÄ¿µÄ¡£ÁíÒ»ÖÖ½âÊÍÊÇÔÚÒ»¸öеĶÔÏóÖÐʹÓÃһЩÒÑÓеĶÔÏó£¬Ê¹Ö®³ÉΪжÔÏóµÄÒ»²¿·Ö£»ÐµĶÔÏóͨ¹ýÏòÕâЩ¶ÔÏóίÍй¦ÄÜ´ïµ½¸´ÓÃÕâЩ¶ÔÏóµÄÄ¿µÄ¡£

5.1×éºÏ/¾ÛºÏ¸´ÓÃ

ÎÒÃÇÖªµÀ×éºÏ/¾ÛºÏ¶¼ÊǹØÁª¹ØϵµÄÌØÊâÖÖÀ࣬¶þÕ߶¼ÊÇÌåÏÖÕûÌåÓ벿·ÖµÄ¹Øϵ£¬Ò²¾ÍÊÇÁ½¸öÀàÖ®¼äµÄÊÇ¡°has-a¡±¹Øϵ£¬Ëü±íʾijһ¸ö½ÇÉ«¾ßÓÐijһÏîÔðÈΡ£ÓÉÓÚ×éºÏ/¾ÛºÏ¶¼¿ÉÒÔ½«ÒÑÓеĶÔÏó¼ÓÈ뵽жÔÏóÖУ¬Ê¹Ö®³ÉΪжÔÏóµÄÒ»²¿·Ö£¬Òò´ËжÔÏó¿ÉÒÔµ÷ÓÃÒÑÓжÔÏóµÄ¹¦ÄÜ£¬´Ó¶øʵÏÖ¶ÔÏó¸´Óá£

ʹÓÃ×éºÏ/¾ÛºÏʵÏÖ¸´ÓÃÓÐÈçϺô¦£º

5.1.1жÔÏó´æÈ¡³É·Ö¶ÔÏóµÄΨһ·½·¨ÊÇͨ¹ý³É·Ö¶ÔÏóµÄ½Ó¿Ú¡£

5.1.2ÕâÖÖ¸´ÓÃÊǺÚÏ临Óã¬ÒòΪ³É·Ö¶ÔÏóµÄÄÚ²¿Ï¸½ÚÊÇжÔÏóËù¿´²»¼ûµÄ¡£

5.1.3ÕâÖÖ¸´ÓÃËùÐèµÄÒÀÀµ½ÏÉÙ¡£

5.1.4ÿһ¸öеÄÀà¿ÉÒÔ½«½¹µã¼¯ÖÐÔÚÒ»¸öÈÎÎñÉÏ¡£

5.1.5ÕâÖÖ¸´ÓÿÉÒÔÔÚÔËÐÐʱ¼äÄÚ¶¯Ì¬½øÐУ¬×÷ΪÕûÌåµÄжÔÏó¿ÉÒÔ¶¯Ì¬µØÒýÓÃÓ벿·Ö¶ÔÏóÀàÐÍÏàͬµÄ¶ÔÏó¡£Ò²¾ÍÊÇ˵£¬×éºÏ/¾ÛºÏÊǶ¯Ì¬ÐÐΪ£¬¼´ÔËÐÐʱÐÐΪ¡£¿ÉÒÔͨ¹ýʹÓÃ×éºÏ/¾ÛºÏµÄ·½Ê½ÔÚÉè¼ÆÉÏ»ñµÃ¸ü¸ßµÄÁé»îÐÔ¡£

µ±È»£¬ÕâÖÖ¸´ÓÃÒ²ÓÐȱµã¡£ÆäÖÐ×îÖ÷ÒªµÄȱµã¾ÍÊÇϵͳÖлáÓн϶àµÄ¶ÔÏóÐèÒª¹ÜÀí¡£

Ò»°ãÀ´Ëµ£¬Èç¹ûÒ»¸ö½ÇÉ«µÃµ½Á˸ü¶àµÄÔðÈΣ¬¾Í¿ÉÒÔʹÓÃ×éºÏ/¾ÛºÏ¹Øϵ½«ÐµÄÔðÈÎίÅɵ½ºÏÊʵĶÔÏóÉÏ¡£

5.2¼Ì³Ð¸´ÓÃ

¼Ì³ÐÊÇÃæÏò¶ÔÏóÓïÑÔÌØÓеĸ´Óù¤¾ß¡£ÓÉÓÚʹÓü̳йØϵʱ£¬ÐµÄʵÏÖ½ÏΪÈÝÒ×£¬Òò¸¸ÀàµÄ´ó²¿·Ö¹¦ÄÜ¿ÉÒÔͨ¹ý¼Ì³ÐµÄ¹Øϵ×Ô¶¯½øÈë×ÓÀࣻͬʱ£¬Ð޸ĺÍÀ©Õ¹¼Ì³Ð¶øÀ´µÄʵÏÖ½ÏΪÈÝÒס£ÓÚÊÇ£¬ÔÚÃæÏò¶ÔÏóÉè¼ÆÀíÂÛµÄÔçÆÚ£¬³ÌÐòÉè¼Æʦʮ·ÖÈÈÖÔÓڼ̳У¬ºÃÏñ¼Ì³Ð¾ÍÊÇ×îºÃµÄ¸´ÓÃÊֶΣ¬ÓÚÊǼ̳ÐÒ²³ÉΪÁË×îÈÝÒ×±»ÀÄÓõĸ´Óù¤¾ß¡£È»¶ø£¬¼Ì³ÐÓжà¸öȱµã£º

5.2.1¼Ì³Ð¸´ÓÃÆÆ»µ·â×°£¬ÒòΪ¼Ì³Ð½«¸¸ÀàµÄʵÏÖϸ½Ú±©Â¶¸ø×ÓÀà¡£ÓÉÓÚ¸¸ÀàµÄÄÚ²¿Ï¸½Ú³£³£ÊǶÔÓÚ×ÓÀà͸Ã÷µÄ£¬ËùÒÔÕâÖÖ¸´ÓÃÊÇ͸Ã÷µÄ¸´Óã¬Óֳơ°°×Ï䡱¸´Óá£

5.2.2Èç¹û¸¸Àà·¢Éú¸Ä±ä£¬ÄÇô×ÓÀàµÄʵÏÖÒ²²»µÃ²»·¢Éú¸Ä±ä¡£

5.2.3´Ó¸¸Àà¼Ì³Ð¶øÀ´µÄʵÏÖÊǾ²Ì¬µÄ£¬Ò²¾ÍÊDZàÒëʱÐÐΪ£¬²»¿ÉÄÜÔÚÔËÐÐʱ¼äÄÚ·¢Éú¸Ä±ä£¬Ã»ÓÐ×ã¹»µÄÁé»îÐÔ¡£

ÕýÊÇÒòΪ¼Ì³ÐÓÐÉÏÊöȱµã£¬ËùÒÔÓ¦Ê×ÏÈʹÓÃ×éºÏ/¾ÛºÏ£¬Æä´Î²Å¿¼ÂǼ̳У¬´ïµ½¸´ÓõÄÄ¿µÄ¡£²¢ÇÒÔÚʹÓü̳Ðʱ£¬ÒªÑϸñ×ñÑ­ÀïÊÏÌæ»»Ô­Ôò¡£

ÒªÕýÈ·µÄÑ¡Ôñ×éºÏ/¾ÛºÏºÍ¼Ì³Ð£¬±ØÐë͸³¹µÄÀí½âÀïÊÏÌæ»»Ô­ÔòºÍCoad·¨Ôò¡£ÀïÊÏÌæ»»Ô­ÔòÇ°Ãæѧϰ¹ý£¬Coad·¨ÔòÓÉPeter CoadÌá³ö£¬×ܽáÁËһЩʲôʱºòʹÓü̳Ð×÷Ϊ¸´Óù¤¾ßµÄÌõ¼þ¡£

5.3CoadÌõ¼þÈ«²¿±»Âú×ãʱ£¬²ÅÓ¦µ±Ê¹Óü̳йØϵ

5.3.1×ÓÀàÊǸ¸ÀàµÄÒ»¸öÌØÊâÖÖÀ࣬¶ø²»ÊǸ¸ÀàµÄÒ»¸ö½ÇÉ«£¬Ò²¾ÍÊÇÇø·Ö¡°has-a¡±ºÍ¡°is-a¡±¡£Ö»ÓС°is-a¡±¹Øϵ²Å·ûºÏ¼Ì³Ð¹Øϵ£¬¡°has-a¡±¹ØϵӦµ±ÓÃ×éºÏ/¾ÛºÏÀ´ÃèÊö¡£

5.3.2ÓÀÔ¶²»»á³öÏÖÐèÒª½«×ÓÀà»»³ÉÁíÍâÒ»¸öÀàµÄ×ÓÀàµÄÇé¿ö¡£Èç¹û²»Äܿ϶¨½«À´ÊÇ·ñ»á±ä³ÉÁíÍâÒ»¸ö×ÓÀàµÄ»°£¬¾Í²»ÒªÊ¹Óü̳С£

5.3.3×ÓÀà¾ßÓÐÀ©Õ¹¸¸ÀàµÄÔðÈΣ¬¶ø²»ÊǾßÓÐÖû»£¨ÖØд£©»ò×¢Ïúµô¸¸ÀàµÄÔðÈΡ£Èç¹ûÒ»¸ö×ÓÀàÐèÒª´óÁ¿µÄÖû»µô¸¸ÀàµÄÐÐΪ£¬ÄÇôÕâ¸öÀà¾Í²»Ó¦¸ÃÊÇÕâ¸ö¸¸ÀàµÄ×ÓÀà¡£

5.3.4Ö»ÓÐÔÚ·ÖÀàѧ½Ç¶ÈÉÏÓÐÒâÒåʱ£¬²Å¿ÉÒÔʹÓü̳С£²»Òª´Ó¹¤¾ßÀà¼Ì³Ð¡£

6¡¢½Ó¿Ú¸ôÀëÔ­Ôò

½Ó¿Ú¸ôÀëÔ­Ôò£¨Interface Segregation Principle£¬¼ò³ÆISP£©ÊÇÖ¸¿Í»§²»Ó¦¸ÃÒÀÀµËüÃÇÓò»µ½µÄ·½·¨£¬Ö»¸øÿ¸ö¿Í»§ËüËùÐèÒªµÄ½Ó¿Ú¡£»»¾ä»°Ëµ£¬¾ÍÊDz»ÄÜÇ¿ÆÈÓû§È¥ÒÀÀµÄÇЩËûÃDz»Ê¹ÓõĽӿڡ£

½Ó¿Ú¸ôÀëÔ­Ôòʵ¼ÊÉÏ°üº¬ÁËÁ½²ãÒâ˼£º

6.1½Ó¿ÚµÄÉè¼ÆÔ­Ôò

½Ó¿ÚµÄÉè¼ÆÓ¦¸Ã×ñÑ­×îС½Ó¿ÚÔ­Ôò£¬²»Òª°ÑÓû§²»Ê¹Óõķ½·¨Èû½øͬһ¸ö½Ó¿ÚÀï¡£Èç¹ûÒ»¸ö½Ó¿ÚµÄ·½·¨Ã»Óб»Ê¹Óõ½£¬Ôò˵Ã÷¸Ã½Ó¿Ú¹ýÅÖ£¬Ó¦¸Ã½«Æä·Ö¸î³É¼¸¸ö¹¦ÄÜרһµÄ½Ó¿Ú£¬Ê¹Óöà¸öרÃŵĽӿڱÈʹÓõ¥Ò»µÄ×ܽӿÚÒªºÃ¡£

6.2½Ó¿ÚµÄ¼Ì³ÐÔ­Ôò

Èç¹ûÒ»¸ö½Ó¿ÚA¼Ì³ÐÁíÒ»¸ö½Ó¿ÚB£¬Ôò½Ó¿ÚAÏ൱Óڼ̳ÐÁ˽ӿÚBµÄ·½·¨£¬ÄÇô¼Ì³ÐÁ˽ӿÚBºóµÄ½Ó¿ÚAÒ²Ó¦¸Ã×ñÑ­ÉÏÊöÔ­Ôò£º²»Ó¦¸Ã°üº¬Óû§²»Ê¹Óõķ½·¨¡£·´Ö®£¬Ôò˵Ã÷½Ó¿ÚA±»B¸øÎÛȾÁË£¬Ó¦¸ÃÖØÐÂÉè¼ÆËüÃǵĹØϵ¡£

6.3ͨ¹ý¶àÖؼ̳зÖÀë½Ó¿Ú

¶àÖؼ̳пÉÒÔÓÐÁ½¸ö·½Ê½£¬µÚÒ»ÖÖ·½Ê½ÊÇͬʱʵÏÖÁ½¸ö½Ó¿Ú£¬ÊôÓÚ¶àÖؽӿڼ̳У»µÚ¶þÖÖ·½Ê½ÊÇʵÏÖÒ»¸ö½Ó¿Ú£¬Í¬Ê±¼Ì³ÐÒ»¸ö¾ßÌåÀ࣬ʵ¼ÊÉÏÒ²ÊÇÒ»ÖÖ¶àÖؼ̳С£

6.4ͨ¹ýίÍзÖÀë½Ó¿Ú

ʹÓþۺϺÍ×éºÏÀ´½«²¿·ÖʵÏÖ½»¸øÒÑÖªÀàʵÏÖ¡£×Ô¼ºÔÚʵÏÖ²¿·Ö½Ó¿Ú¡£

7¡¢µÏÃ×ÌØ·¨Ôò

µÏÃ×ÌØ·¨Ôò£¨Law of Demeter£¬¼ò³ÆLOD£©£¬ÓÖ³ÆΪ¡°×îÉÙ֪ʶԭÔò¡±£¬ËüµÄ¶¨ÒåΪ£ºÒ»¸öÈí¼þʵÌåÓ¦µ±¾¡¿ÉÄÜÉÙµÄÓëÆäËûʵÌå·¢ÉúÏ໥×÷Óá£ÕâÑù£¬µ±Ò»¸öÄ£¿éÐÞ¸Äʱ£¬¾Í»á¾¡Á¿ÉÙµÄÓ°ÏìÆäËûµÄÄ£¿é£¬À©Õ¹»áÏà¶ÔÈÝÒס£µÏÃ×ÌØ·¨ÔòÊǶÔÈí¼þʵÌåÖ®¼äͨÐŵÄÏÞÖÆ£¬Ëü¶ÔÈí¼þʵÌåÖ®¼äͨÐŵĿí¶ÈºÍÉî¶È×ö³öÁËÒªÇó¡£µÏÃ×ÌصÄÆäËü±íÊö·½Ê½Îª£º

7.1Ö»ÓëÄãÖ±½ÓµÄÅóÓÑÃÇͨÐÅ¡£

7.2²»Òª¸ú¡°Ä°ÉúÈË¡±Ëµ»°¡£

7.3ÿһ¸öÈí¼þµ¥Î»¶ÔÆäËûµÄµ¥Î»¶¼Ö»ÓÐ×îÉÙµÄ֪ʶ£¬¶øÇÒ¾ÖÏÞÓÚÄÇЩÓë±¾µ¥Î»ÃÜÇÐÏà¹ØµÄÈí¼þµ¥Î»¡£

7.4×öΪ¡°ÅóÓÑ¡±µÄÌõ¼þΪ£º

7.4.1µ±Ç°¶ÔÏó±¾Éí£¨this£©£»

7.4.2±»µ±×öµ±Ç°¶ÔÏóµÄ·½·¨µÄ²ÎÊý´«Èë½øÀ´µÄ¶ÔÏó£»

7.4.3µ±Ç°¶ÔÏóµÄ·½·¨Ëù´´½¨»òÕßʵÀý»¯µÄÈκζÔÏó£»

7.4.4µ±Ç°¶ÔÏóµÄÈκÎ×é¼þ£¨±»µ±Ç°¶ÔÏóµÄʵÀý±äÁ¿ÒýÓõÄÈκζÔÏ󣩡£


   
4698 ´Îä¯ÀÀ       19
×îл¼Æ»®
Node+Vue3.0Ç°¶ËÈ«Õ»¿ª·¢ 7-5 [ÌØ»Ý]
Spring Cloud΢·þÎñ¼Ü¹¹ 7-5[ÌØ»Ý]
SysMLºÍEAϵͳÉè¼ÆÓ뽨ģ 7-26[ÌØ»Ý]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 7-25[±±¾©]

ÈçºÎÏòÆÞ×Ó½âÊÍOOD
OOADÓëUML±Ê¼Ç
UMLÀàͼÓëÀàµÄ¹ØϵÏê½â
UMLͳһ½¨Ä£ÓïÑÔ³õѧ
×ܽáÒ»ÏÂÁìÓòÄ£Ð͵ÄÑéÖ¤
»ùÓÚ UML µÄÒµÎñ½¨Ä£


ÃæÏò¶ÔÏóµÄ·ÖÎöÉè¼Æ
»ùÓÚUMLµÄÃæÏò¶ÔÏó·ÖÎöÉè¼Æ
UML + ǶÈëʽϵͳ·ÖÎöÉè¼Æ
¹ØϵÊý¾Ý¿âÃæÏòOOADÉè¼Æ
ÒµÎñ½¨Ä£ÓëÒµÎñ¼Ü¹¹
ʹÓÃÓÃÀý½øÐÐÐèÇó¹ÜÀí


ijº½¿ÕIT²¿ÃÅ ÒµÎñ·ÖÎöÓëÒµÎñ½¨Ä£
ÁªÏë ÒµÎñÐèÇó·ÖÎöÓ뽨ģ
±±¾©º½¹Ü¿Æ¼¼ EA¹¤¾ßÓë¼Ü¹¹Éè¼Æ
ʹÓÃEAºÍUML½øÐÐǶÈëʽϵͳ·ÖÎö
È«Çò×î´óµÄ²èÒµ¼¯ÍÅ UMLϵͳ·ÖÎö
»ªÎª »ùÓÚEAµÄǶÈëʽϵͳ½¨Ä£
Ë®×ÊÔ´·þÎñÉÌ »ùÓÚEA½øÐÐUML½¨Ä£