ΪʲôҪѧϰÉè¼Æģʽ(Design Patterns) - Èí¼þÉè¼Æ´óʦ֮·

Àà±ð£ºVCÓïÑÔ µã»÷£º0 ÆÀÂÛ£º0 ÍƼö£º
ģʽѧϰ(Patterns of Learning) H1 {font-size : 12pt;} BODY {font-size : 11pt;} table {font-size : 11pt;} A:link {text-decoration: underline;}

ÒÔϱÈÓ÷Õª×ÔDouglas Schmidt, bugn·­Òë.

֪ʶµÄģʽ(Patterns of Learning)

ÔÚÈËÀàŬÁ¦½â¾öµÄÐí¶àÁìÓòµÄ³É¹¦·½°¸¶¼À´Ô´ÓÚ¸÷ÖÖģʽ(Patterns).

ÊÂʵÉÏ, ½ÌÓýµÄÒ»¸öÖØҪĿ±ê¾ÍÊÇ°Ñ֪ʶµÄģʽһ´úÒ»´ú´«ÏÂÈ¥.

ÏÂÃæÎÒÃÇÊ×ÏÈ¿´Ò»ÏÂѧϰÏÂÆåÊÇÔõÑùÓõ½Ä£Ê½(patterns).
ѧϰ¿ª·¢Ò»¸öºÃµÄ³ÌÐòÀàËÆÓÚѧϰÔõÑùϺÃÆå.

³ÉΪһ¸öÏóÆå´óʦ
* Ê×ÏÈѧϰ¹æÔòºÍ±ØÒªÌõ¼þ
  ÀýÈç, Æå×ÓµÄÃû³Æ, ºÏ·¨µÄÆå×ÓÒƶ¯, ÆåÅ̵ļ¸ºÎÐÎ×´ºÍ·½ÏòµÈ
* È»ºóѧϰԭÀí
  ÀýÈçijһÖÖÆå×ÓµÄÏà¶Ô¼ÛÖµ, ÖÐÐĸñµÄÕ½ÂÔ¼ÛÖµ, ÍþвµÄÇ¿¶ÈµÈ
* È»¶øÒª³ÉΪÏóÆå´óʦ, Äã±ØÐëҪѧϰÆäËû´óʦϹýµÄÆå¾Ö
  ÕâЩÆå¾Ö¾Í°üº¬ÓÐģʽ(patterns)£¬ÕâЩģʽ(patterns)±ØÐë±»Àí½â£¬¼ÇÒäºÍÖظ´µÄÔËÓÃ
* ÓкܶàÖÖÕâÑùµÄģʽ(patterns)

³ÉΪһ¸öÈí¼þÉè¼Æ´óʦ
* Ê×ÏÈѧϰ¹æÔò
  ÀýÈçËã·¨, Êý¾Ý½á¹¹ºÍÈí¼þÓïÑÔ
* È»ºóѧϰԭÀí
  ÀýÈç½á¹¹»¯±à³Ì, Ä£¿é»¯±à³Ì, ÃæÏò¶ÔÏó±à³Ì, ·º±à³Ì(general programming)µÈ
* µ«ÊÇÒªÕæÕýµÄ¾«Í¨Èí¼þÉè¼Æ, Äã±ØÐëѧϰÆäËû´óʦ¼¶µÄÉè¼Æ
  ÕâЩÉè¼Æ°üº¬µÄģʽ(patterns)±ØÐë±»Àí½â£¬¼ÇÒäºÍÖظ´µÄÔËÓÃ
* ÓкܶàÖÖÕâÑùµÄģʽ(patterns)

·­ÒëˮƽÓÐÏÞ£¬ÒÔϸ½ÉÏÔ­ÎÄ£º

Patterns of Learning

Successful solutions to many areas of human endeavor are deeply rooted in patterns
In fact, an important goal of education is transmitting patterns of learning
from generation to generation
  Below, we'll explore how patterns are used to learn chess
  Learning to develop good software is similar to learning to play good chess

Becoming a Chess Master

1) First learn rules and physical requirements
  e.g., names of pieces, legal movements, chess board geometry and orientation, etc. 2) Then learn principles
  e.g., relative value of certain pieces, strategic value of center squares, power of a threat, etc.
3) However, to become a master of chess, one must study the games of other masters
  These games contain patterns that must be understood, memorized, and applied repeatedly
4) There are hundreds of these patterns

Becoming a Software Design Master

First learn the rules
e.g., the algorithms, data structures and languages of software

Then learn the principles
e.g., structured programming, modular programming, object oriented programming, generic programming, etc.

However, to truly master software design,one must study the designs of other masters
These designs contain patterns must be understood, memorized, and applied repeatedly

There are hundreds of these patterns

±¾ÎĵØÖ·£ºhttp://com.8s8s.com/it/it4007.htm