ΪʲôҪѧϰģʽ(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)

ŬijɹԴڸģʽ(Patterns).

ʵ, һҪĿǰ֪ʶģʽһһȥ.

ȿһѧϰõģʽ(patterns).
ѧϰһõijѧϰº.

Ϊһʦ
* ѧϰͱҪ
  , ӵ, Ϸƶ, ̵ļ״ͷ
* Ȼѧϰԭ
  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