Current understanding of various technology
Service -> Higher-level API, uses one or more DAOs to load/save object (graph)
v
Dao -> consistent CRUD APIs for all objects/tables
v
ORM -> provides mapping and persistent management
==
Spring:
- brings all the different parts together (plug and play style)
- core -> dependency injection
- data -> DI for DAO layer, transaction/session management, etc
- config -> DI for configuration
EntLib:
- a family of libraries
- entlib objectbuilder -> dependency injection
- entlib daab -> similar to DaoManager in iBatis, but more like a library
does not use IDao interface but rely on IDbCommand instead
- entlib config -> probably similar to the config lib in spring, nhibernate, etc
(but genericized into a new library)
Castle project:
- a suite of libraries, mixing functionalities from Spring + Hibernate
- activerecord -> nhibernate attribute + active record pattern
- microkernel -> dependency injection
- windsor -> spring core or entlib objectbuilder + entlib config block
apache log4net:
= entlib logging block