Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this questionhopefully I won't get flamed too much for asking this
I'm learning WCF/Asp.Net, so the type of applications I plan to write are web applications, web service applications or the mix of two. To my knowledge web applications are usually implemented using n-tier architecture, while WCF usually follows SOA design principles.
So I'm wondering:
a) what benefits would I gain from learning about different architectural designs, if the types of application I plan to write mostly use n-tier and SOA patterns?
b) and if learning about different architectural styles is a must - is this the right time to start learning and implementing them, or should I first focus on becoming more experienced with writing wcf/web applications?
PS - to clarify, I'm not asking this due to being too lazy to learn, but since it will take quite a lot of time for me to become even an开发者_开发百科 ok programmer, I would like to first learn stuff that will directly help me improve my programming skills
I think you answered your own question:
PS - to clarify, I'm not asking this due to being too lazy to learn, but since it will take quite a lot of time for me to become even an ok programmer, I would like to first learn stuff that will directly help me improve my programming skills.
Focus on your immediate needs first, and when you get the chance (or are forced by necessity) research the other design-patterns. There is no doubt that such knowledge will be useful at some point. However if your job requires you to work exclusively in one area, that is the area you should focus on until you are comfortable.
There is no one 'size fit all' answer to your question. But by learning about different architectures you will increase your overall scope and that will make it easier for you to design new system and understand existing ones.
You can start learning now (even if you don't understand something at first) and then come back many times as you get more experienced.
I would start by getting a good book to learn the technologies you've mentioned. Most of these will impart some type of design pattern as they teach you to work with the subject matter. I've found that many of the patterns people apply to software architecture come naturally from working in software development.
You could certainly go out and buy a book strictly on patterns (GoF Design Patterns, Fowler's Patterns of Enterprise Applications), but without the necessary background you probably won't grasp why or when you'd want to use one pattern over another.
精彩评论