As a new programmer, application architecture probably isn’t something that’s on your mind. Learning the syntax, the keywords, about objected oriented programming, and basic programming logic is hard enough. But at some point your programs will start getting large enough that architecture should become a concern, and Microsoft has a free eBook, Microsoft Application Architecture Guide, to get you started.
Below is a diagram from page 57 of the book that shows the basic structure of a well-designed application. The fundamental concept is this, that each “layer” of your application should be designed to work independently of any other layer. The reason being that if you have to make a change to one layer of the application it shouldn’t break something in another layer.
For example, let’s say you are coding up a simple calculator application as one of your first projects. It probably makes sense to you that you wouldn’t want to design the program such that if you made a mistake in one of your calculation methods, say adding numbers together, that you shouldn’t also have to rewrite the code that displays your number pad on the screen. And that’s the basics of application architecture.
While the deep technical aspects of application architecture might be a bit over your head in your early programming days, the high level concepts you can handle. So when you’re coding up your next program for a programming class or just for practice think about designing in layers.