2009-01-26 12 views

Respuesta

8

La respuesta a esta pregunta todo depende de su definición de las palabras "aprender" y "rápida ". En mi experiencia, nadie aprende cualquier cosa rápido.

Dicho esto, le sugiero que visite el sitio de Rockford Lhotka y consulte los foros y libros que están allí.

http://www.lhotka.net/cslanet/
http://forums.lhotka.net/

+7

Aprendí a no quemarme muy rápido. – GregD

1

Yo sugeriría que lea this book de Rockford para que pueda empezar la comprensión de la razón de ser del marco y cómo encaja todo

8

Get the book. Leer el libro. Comience a utilizar el marco: o/

He estado trabajando con CSLA.Net durante 4 años y todavía estoy aprendiendo nuevos trucos y cuenta con todas las semanas: o)

+3

Tengo que estar de acuerdo. Si no lee el libro, lo más probable es que termine publicando preguntas sobre cómo usarlo o nunca lo use en su totalidad. Las primeras 200 páginas del libro ofrecen una buena visión general de su uso. A partir de ahí pude saltearme según sea necesario. Hay una gran parte del libro que repasa el diseño y la implementación del marco bajo las cubiertas, tales como cómo funciona DataPortal. Puedes vivir sin leer esas partes. –

23

que sugeriría la descarga de la fuente CSLA código y las muestras (especialmente la muestra de ProjectTracker) y eche un vistazo al código. La mejor manera para que aprenda algo rápido es construir algo.

Para comenzar a escribir objetos, comience por crear la infraestructura del puerto de datos.

p. Ej. Aquí es un objeto de base de CSLA:

[Serializable()] 
public class Widget : Csla.BusinessBase<Widget> 
{ 
    private Widget() 
    { 
    } 
} 

El siguiente paso para la creación de la dataportal es determinar lo que una zona de alcance puede vería en su objeto. Por ejemplo, ¿va a querer obtener un objeto en función de su id, su nombre, su categoría o alguna otra propiedad? Aquí está un ejemplo del mismo objeto con el método de fábrica ha podido recuperar implementado:

[Serializable()] 
public class Widget : Csla.BusinessBase<Widget> 
{ 
    private Widget() 
    { 
    } 

    public static Widget Fetch(int id) 
    { 
     return Csla.DataPortal.Fetch<Widget>(new Csla.SingleCriteria<Widget, int>(id)); 
    } 
} 

El paso siguiente es el de crear el método dataportal que el portal de datos CSLA creará.

[Serializable()] 
public class Widget : Csla.BusinessBase<Widget> 
{ 
    private Widget() 
    { 
    } 

    public static Widget Fetch(int id) 
    { 
     return Csla.DataPortal.Fetch<Widget>(new Csla.SingleCriteria<Widget, int>(id)); 
    } 

    private void DataPortal_Fetch(Csla.SingleCriteria<Widget, int> criteria) 
    { 
     // Connect to database (or use ORM) and populate the object here based on the criteria.Value which is the id value 
    } 
} 

Después de que se termine esto, el siguiente paso sería definir su objeto de negocio de propiedades, etc. Aquí es donde usted tendrá que buscar en las muestras proporcionadas y ver cómo relaciones padre/hijo se definen, etc.

Espero que esto lo ayude a comenzar.

se puede descargar el código y las muestras a http://lhotka.net/cslanet/Download.aspx

+0

Agradezco esta publicación. Intento hace unos días implementar esto en un proyecto. –

0

Magenic (empresa de Rocky) ofrece varias clases magistrales CSLA lo largo del año que son excelentes y le dará una experiencia de inmersión.

1

Mi mejor sugerencia es no hacerlo. Hay muchas arquitecturas de acceso a datos que son más robustas, más fáciles de mantener, de mejor rendimiento y más ampliamente aceptadas en la industria. NHibernate, Linq-to-Sql y Microsoft Entity Framework son tres. Ve con la industria No seas el solitario explorador.

+4

Un poco anticuado, pero échele un vistazo a esto: http://www.lhotka.net/weblog/ADONETEntityFrameworkLINQAndCSLANET.aspx "ADO.NET EF ... trabaja con objetos de entidades, objetos diseñados principalmente como contenedores de datos." "CSLA .NET se trata de crear objetos de negocio, objetos diseñados principalmente en torno a las responsabilidades y comportamientos definidos por un caso de uso comercial. Se trata de facilitar la creación de objetos de uso derivados de casos que tengan lógica de negocios, reglas de validación y reglas de autorización ". –

+3

csla no tiene nada que ver con el acceso a los datos ... –

+2

CSLA NO ES un ORM !!! –

2

Yo recomendaría visitar nuestro CSLA 3.8 templates. Vienen en un sabor VB.NET y C#.Actualmente estamos trabajando en una versión principal que agrega SQL Stored Procedure, Object Factory y soporte Many-to-Many. Es un gran punto de partida porque tenemos ejemplos del mundo real como la aplicación Microsoft PetShop Sample que se genera completamente (tanto las capas comerciales como las capas de acceso a datos) con pruebas unitarias para mostrar exactamente cómo funciona CSLA. Si tiene alguna pregunta o tiene problemas, estamos aquí para ayudarlo a comprender y crecer como desarrollador de CSLA.

Otro gran complemento para aprender CSLA es comprar el siguiente libro: Expert C# 2008 Business Objects.

Gracias -Blake Niemyjski (Autor de la CodeSmith CSLA Templates)

Cuestiones relacionadas