When I first heard about Design Patterns, I thought about that should be something very professional and using by designers to develop or build masterpieces. It did not sound like students, like me, can easily handle. However, I somehow got the idea after my ICS 314 instructor, Philip Johnson, explained how we had already using them in our class. It is still difficult for me to explain what is design patterns in detail, but I think it is interesting when he mentioned that we were actually using design patterns without calling them design patterns before. For me, design patterns are like categorizing our behaviors or experience and discribing them in a moderate way. Therefore, other people or even ourselves could benefit from what was solved or encountered before. In short, I will say it is all about effectiveness. I do believe understanding design patterns deeply could let people have better performance, but there are thresholds to be crossed when it comes to teaching.
First thing comes to my mind about using without able to describe is the mother tongue. Personally, I am a native Mandarin speaker and I don’t know how to teach Mandarin at the same time. I am not sure whether it happens to all the languages or not, but I do believe I use Mandarin before I called it Mandarin, which somehow has the same idea of we are using design patterns without calling them design patterns. There are design pattern examples like factory, singleton, observer, etc; there are grammer examples in Mandarin as well. Even though I don’t know some grammers in Mandarin, I still can use or speak Mandarin in a in not very effienct way. I will say the same thing happens to design patterns. However, if I need to teach design patterns, understanding and able to describe become necessary. Besides, it could become harder if we learn what is design patterns before we actually using them.
I want to use English as the example to support that learning things before use make things harder. I learn English as the second language and the strategy is very different from how I learn Mandarin. For English learning, I learned grammers and the meaning of vocabularies first, but it is still hard for me to use and speak English. One of the reason I think is I am afraid of making mistakes since I could recognize that the grammer of what I am going to say is wrong before I actually speak. Because I learned the grammer, so that stoped me from practicing. The consequence was I could not get sufficient experience. The other reason made English harder for me is I could recognize the complexity of English grammers during the learning process. The complexity made me feel that English is too hard and want to give it up, which create the obstruction of learning English. I believe if I could use English before learning the English grammers, I might learn English more easliy or easily as I learn Mandarin. In fact, I autaually feel that Mandarin is harder than I thought before after I learn more Mandarin grammers.
Becoming back to design patterns, I do believe after we using the design patterns, we could learn design patterns more efficent and more easily. Besides, It is the way that I believe we should try to apply to learn other things unless there are safety concerns.