I happen to have a lot of experience with CSLA. I cannot wholeheartedly recommend it.
We use it in our shop for the current version of our main app, but do not plan on using it when we begin work on our next version. One reason is because no one on my team understands how it works and would not be able to support it if I left. A bigger reason is because many of its features either are not useful to us, N-Level undo, for example. CSLA is designed for scaling to large number of users and for running in a distributed environment. We have few users at any given site, mostly under 10, and have no need to run as a distributed application on 99% of our customers. Also, the way CSLA handles errors with its BrokenRules collection is clumsy, offering few decent ways to report problems to users. We ended up with a jury-rigged mess of code designed to bypass CSLA’s restrictions. Had we designed the error handling from scratch, which we will do in the next version, we would have come up with a more flexible system that matches our UI needs better. In short, CSLA’s design imposes complexity, limitations, and performance issues not appropriate to our environment. It may not be appropriate to yours either. Don’t get me wrong. CLSA is a well-thought out design, and there are many very good ideas it incorporates nicely. That said, some of its design is predicated upon problems that are not the same as when it was first written. Distributed programming in particular has solutions now that I think are superior to those offered by CSLA. The first question you should ask is, “Why do I want to use CSLA?” What are the precise features of its design that you need or want? Once you have that question answered, do research to make sure CSLA’s solution is the best, or at least acceptable, option. Steal the ideas that are right for solving your problems. The rest you can safely disregard and roll your own solutions instead. - R.B. Davidson On Feb 18, 5:40 am, Pooja <[email protected]> wrote: > Can anyone help me on CSLA ??We are upgrading our software and > planning to use CSLA framework... Please help me with good intro on > the same... Thanks in advance...
