The following metaphor is taken from Douglas Schmidt, Bugn Translation.
Knowledge mode (Patterns of Learning)
Success programs in many areas solved in human efforts are from Patterns.
In fact, an important goal of education is to pass the model generation of knowledge.
Below we first look at how to use the game to use the pattern. Learn to develop a good program is similar to how to learn.
Become a chess master * First study rules and necessary conditions, for example, the name of the chess pieces, the legal chess pieces, the geometric shape and direction of the chessboard, etc. Strength and so on, however it is necessary to become a chess master, you have to learn that the chess games of other masters have a pattern, these modes must be understood, memory and repetition * There are many such modes. (Patterns)
Become a software design master * First study rules such as algorithms, data structures, and software language * then learning, such as structured programming, modular programming, object-oriented programming, general programming, etc. * But to real proficiency software design, You must learn other master-level design These design contained modes (Patterns) must be understood, memory and repetitions * There are many such modes (Patterns)
The translation level is limited, hereinafter attached to the original text:
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 due
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
That Games Contain Patternal, Must Be Und, 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 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 repeatedlyThere are hundreds of these patterns