Possible Duplicate:
Are design patterns really essential nowadays?
Is it necessary have a knowledge and understanding of design patterns for someone to be a professional programmer? Why?
Is it necessary have a knowledge and understanding of design patterns for someone to be a professional programmer? Why? |
|||||||||||
|
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
|
No. I only say that to be pedantic though. The term "professional programmer" really just means you get paid to program. I assure you that you can be paid to program without knowing any design patterns (I certainly did, for a few years). However, knowing design patterns has some benefits:
|
|||
|
|
|
If you're a good programmer, you will find out yourself some of the design patterns, and later on notices that these constructions have a name. So strictly no, but they can help you improve your object-oriented skills and they can help to communicate with fellow programmers. |
|||
|
|
|
Design patterns serve a couple of purposes:
You don't have to know them to be a professional developer, but not knowing them will handicap you to a certain degree, because you will be unable to "speak the language." You will also be reinventing the wheel. |
|||
|
|
|
Algorithms, Design patterns, Application architecture types are building blocks for programmers. They are the independent of most popular languages ( C#, Java etc ) and one of the positive sides of this fact is that they can be used to communicate your thoughts easier when it comes to explaining how something is coded. |
|||||||||
|
|
While knowledge and understanding of design patterns is not a prerequisite to becoming a professional programmer, they are a useful tool to improve the reliability of your code, your ability to communicate with other programmers, and the ability for others to maintain the code you've written. Just like learning additional programming languages and technologies, good understanding of design patterns improves your skill and value. In other words, you don't need to know and understand design patterns, but the more you do understand, the better you will be professionally. |
|||
|
|
|
Patterns are not necessary to write code and get paid for it. The process of learning what types of pattens, algorithms, and architectural styles exist is a process of learning how to design and engineer software with higher internal quality and that meets more strict non functional requirements. Oh and it may be necessary if you don't want the other dev kids to laugh and point. ;) |
|||
|
|