Nearly any well-written piece of software uses a layered design. A layered design separates the techical responsibilities of an application into cohesive parts that isolate the implementation details of a particular technology or interface.
Presentation -------
| |
\ / \/
Business Logic --->Business Object Model
| /\
\ / |
Persistence --------
|
\ /
Database
iBATIS is a persistence layer framework. The persistence layer sits between the business logic layer of the application and the database. This separation is important to ensuring that your persistence strategy is not mixed with your business logic code, or vice versa. The benefit of this separation is that your code can be more easily maintained, as it will allow your object model to evolve indepnedently of your database design.
Although iBATIS is heavily focused on the persistence layer, it is important to understand all of the layers of application architecture. Although you separate your concerns so that there are minimal dependencies on any particular implementation, it would be naive to think that you can be blind to the interaction among these layers. Regardless of how well you design your application, there will be indirect behavioral associations between the layers that you must be aware of.
Presentation -------
| |
\ / \/
Business Logic --->Business Object Model
| /\
\ / |
Persistence --------
|
\ /
Database
iBATIS is a persistence layer framework. The persistence layer sits between the business logic layer of the application and the database. This separation is important to ensuring that your persistence strategy is not mixed with your business logic code, or vice versa. The benefit of this separation is that your code can be more easily maintained, as it will allow your object model to evolve indepnedently of your database design.
Although iBATIS is heavily focused on the persistence layer, it is important to understand all of the layers of application architecture. Although you separate your concerns so that there are minimal dependencies on any particular implementation, it would be naive to think that you can be blind to the interaction among these layers. Regardless of how well you design your application, there will be indirect behavioral associations between the layers that you must be aware of.
Comments
Post a Comment