Gabor wrote:
I'm a bit confused, how to build an application with your tool.
But as I understand now; I have to build a BLs that is an intermediere between the PL and generic adapter classes. The PL uses generic adapter class functionality via custom built BLs, that expose the business rules, and forward the entity/entities b/w PL and generic adapter classes, The generic adapter classes use the db specific adapter class for the db communication automatically.
Is it sounds right?
That's one way to do it. N-tier development is a global way of thinking without strict rules. So one team will opt for a BL tier with an api like: CustomerManager.CreateCustomer(...) CustomerManager.AddOrderToCustomer(CustomerID, OrderId, OrderDate etc... )
and another team will opt for a BL tier with an API like:
CustomerManager.AddCustomer(CustomerEntity).
It's up to you want you want. I always say: you get the generated entity classes, you can add 2 types of BL to them: entity validators (using IEntityValidator interface implementaions) and field validators (using the validator classes being generated). The 3rd category of BL is often added to data-less manager classes.
You already have the entity classes, so you can opt to use them by default. If you don't want that for some reason, then you have to come up with an alternative. So first define why you wouldn't want to use them, and then look at if that's a valid reason to abandone them and what the alternatives are.
the BL tier should offer an API to the PL tier, so functionality of the BL tier is exposed in a generic way and can be reused between parts of teh PL tier. This is not related to LLBLGen Pro, but to n-tier development, and as there are no strict rules, it's up to you how this is realized
My other question is about template classes. Is there anywhere a more detailed information beside "basic concepts" in the manual, how to build and use them?
The SDK is only available to customers which describes how to write templates, how the templates work etc.
the manual is targeted at using the functionality provided, not how to alter that, as altering templates is an advanced topic often not used by a lot of customers. The concepts section in the manual is there to describe the concepts used in the generated code and which should answer the "Why " questions which arise when you look at the code generated.