Description:I have tracked CSLA and used the architecture since the Early VB6 days and I unfortunately have to admit that I have moved from being a follower to becomming increasingly dissapointed over the years. CSLA has in my opinion just failed to keep up with the newer concepts of Domain Modelling etc from Eric Evans it has also failed to in incorporating concepts and patterns from Martin Fowler et al. The architecture does not solve or present any real solution for the Object Relational mapping issues etc etc etc. The problem in my opininion stem from the fact that the architecture has remained rooted in the principles that worked and were needed in VB6. If you and your organisation are already committed to CSLA then keep buying the book and keep up with the minor changes that happen to the architecture with each iteration. The second problem for me is that the CSLA is not test driven (although there are some tests that appear to have been retrofitted). The Framework itself is fairly limited with most of the logic being in the generated code. This means that it is extremely difficult to extend or enhance since you need to start fiddling with templates etc. We all know that generated code is very hard to test so doing this makes things very fragile and frustrating.
If you are looking learn Domain Concepts and to utilise these in production projects then I would suggest that you go for one of the Open Source Enterprise Application Frameworks that are available. These are more feature rich and more alive in terms of contribution than CSLA.
My suggestions would be
1)NHibernate - this is an open source ORM but has many generators e.g. CodeSmith that allow you to generate the Business Object Layer. It is reasonably well documented and has a book (NHibernate in action) it has a reasonably active community. I have used this framework on a number of projects and it is very complex but works well.
2) My other Suggestion would be Habanero - this is an interesting Open Source Enterprise application framework (that I have been using for the last 7 months). The framework covers the ORM (Object Relational Mapping), The Domain Model and some generation of simple user interfaces. It also has many components that can be used and plugged in at both the Domain Model (Business Logic Layer) and User interface (Presentation layer). The documentation is pretty good with lots of videos etc for getting started. There is currently not that much available on the details of the architecture but the code is well documented. There is a alpha release of a book which is pretty good and explains the details of architecture (You need to request it via email). The impressive parts for me are that the entire architecture is fully Test Driven and ships with the ability to swap in a Memory Database. The In Memory database really allows you to develop your project in an agile manner. The community and forum is active and the Framework has already had several new releases in the 7 months I have been working with it. The framework ships with a Free Code Generator aka Firestarter. Firestarter is a bit rough and ready but works and is relatively easy to use.