Have you ever used CSLA? [duplicate]

2019-03-31 23:06发布

问题:

Possible Duplicate:
Does anyone have any real-world experience of CSLA?

Have you ever used CSLA and if so what are yout thoughts? I am starting a new contract for a company that uses CSLA and NHibernate and wanted some opinions or insights into the framework.

回答1:

My opinion:

  • The book is excellent. It taught me a lot about .NET and design in general
  • I don't agree with the design of CSLA, thus I would never use it :)

Take the ideas, and use what is valuable to you. CSLA doesn't stand on its own as an ORM, it just provides the object framework. It's fully acceptable to write your own (if you even need one).



回答2:

Yup, as I asked the original question that Galwegian is referring to I can provide with my experiences so far. I am currently using CSLA to salvage the wreckage of an asp.net internal lob application. I've selected it because out of the tin it has authorisation and business rules, we are a small team and don't have the luxury of time to roll my own business objects.

For what we use it for.. so far so good. A lot of people have commented that the frame work is overcomplicated. I've not really found this yet. The biggest leap I found from my enterprise application experience is that the data access is tightly coupled to the logic. (This is Rocky's take on encapsulation). We (my team) are finding that this encourages to write integration rather than unit tests.

To build business objects there is a lot of leg work that needs to be done and this should be tackled by a code generator.( I'm not using one though as I still want to get a grip of the framework) The latest version of CSLA (3.5) cuts down the amount of code in properties and we have upgraded because of this.

Other highlights are the SmartDate and SafeDataReader.



回答3:

We used it in a web-based scenario and a desktop scenario. I left (for other reasons) before the projects were deployed, but I've heard the web-based project was a success. I think CSLA helped to give some overall consistency to the project in terms of the domain objects, but as others have said in the other thread, a lot of the features are not as useful in a disconnected application like a web app.



回答4:

CSLA is used in our company world-wide. I personally have used it to develop web sites, web services, rich client apps etc.

In one particular application using CSLA, we've deployed to Asia, Europe, Sites in the U.S. and sites at sea on ships.

CSLA insulates developers from the gotcha's of the .Net framework and the ever changing architectural topology at Microsoft. Its powerful and flexible enough to solve nearly every requirement you have, yet easy enough to maintain and develop with that your code will always be maintainable and supportable by even some of your most junior developers.

Our corporation spans the globe, and I wouldn't think of developing our applications without it... given the proper parameters (meaning, I won't be developing a missile guidance system with it). As with all things, be smart.

Using CSLA will put you exactly where you need to be.



回答5:

CSLA is great. I've been using it for several years. However, now that WCF and REST are out there they have removed a large part of the reason that one would want to use CSLA. Unless you really need strong clean/dirty databinding support for your UI and/or n-level undo for changes to your objects I would seriously look at WCF and REST as that is a more open standard for data access layer abstraction.

That being said, we're up to the version 3.6 of CSLA and it still provides great value for us for our line of business apps.