I've looked at a few sites now, and I'm still struggling to find a complete listing of all the possible layers/tiers you can have in an application.
From back in college (1999) I remember the following:
- Presentation Layer (Views)
- Application Layer (Controllers)
- Business Logic Layer (API/Rules)
- Persistence Layer (Database/Object Persistence/Model)
I'm not advocating that they all be used...especially when you consider that too many layers/tiers could lead to an increase in complexity...I just wondered what the complete list might look like...
Based on a couple of blogs I've found several different answers...and Javascript and client side technologies seem to have leaked in adding more client-side layers according to one blog the client side tier might even consist of
- Behavior Layer (Javascript, Flash)
- Presentation Layer (CSS/Images) Note: I though the entire client side layer was the presentation layer
- Structure Layer (XHTML, HTML)
I'm just trying to get an abstract idea of what all the possible layers might be, (even though some people call them different things)