I already know just a kind of model, you see below
Are there different types of web programming layer?
The relationships between the layers can be different ? Different than in the image above
(Presentation Layer - Business Logic Layer - Data access Layer)
If there are, please explain them Or even introduce some resources. (Advantages and Disadvantages)
Probably the most important one that you (and most everyone else) should know about is Onion Architecture..
(source: media.ch9.ms)
The image is from a presentation on Channel9 about building an ASP.NET MVC 4 app with this architecture. Really worth watching, but be warned, it may forever change you think about building applications ( :-) )
http://channel9.msdn.com/Events/aspConf/aspConf/ASP-NET-MVC-Solution-Best-Practices
In essence, you stop thinking about the database as being the "bottom layer". In fact, you think of it as a "top layer" alongside the user interface, or put another way, it's a port to the world outside your application. Your domain entities are at the bottom, but they have no reliance on or awareness of anything that uses them. You then define interfaces -- again with no reliance on or awareness of particular data access technologies -- that describe whatever storage and retrieval operations you need. (Try to avoid simply defining the five CRUD operations.... and even more importantly, avoid using a generic repository pattern ... long-term maintainability often becomes an issue here)
The UI layer and business logic will never have direct access to the database-specific implementation of your repository interfaces. You write your application code against interfaces only.