Yes I can do that. But am I the only one to see something wrong with the
architecture of the current core assembly? Whenever I think at a domain
assembly, I'm thinking at a domain which has the main domain concepts and
that tries to be as "pure" as possible (where pure means that it doesn't
have unneeded dependencies on other assemblies).
The decision of using NH validator means that the base core domain assembly
has a dependency which shouldn't really be there. And more: after looking at
NH validator assembly, it looks like it depends on the NH assembly. When
you think about reuse of the domain assemblies across tiers (something which
you know I'm not really a fan of), this means that the only way to reuse the
core s#arp assembly is when you're using NH. And even in those scenarios,
the final result is not good. Suppose you're using windows forms UI and you
want to reuse the domain assemblies (bad thing, but again, probably ok for
small domain/scenarios). What does that mean in the current release? It
means you have to deploy your domain assemblies, the core S#arp, nh
validator and nh assembly itself...now, if you're using windows forms in a
distributed app (which is something I've ended up doing several times),
there really is a great probability of using services for encapsulating db
access. Now, in that case, why must I also redistribute NH and NH validator
if my service already encapsulates that stuff? See where I'm going wiht
this?
And what happens when you're not using NH? You have several cool classes and
a pretty good domain hierarchy which probably won't get used because if
you're not using NH for persistency, why do you need to reference it and NH
validator assmbly in your custom domain assemblies?
Ok, you can say that the objective of this project is to build some domain
classes for using with NH. I can't do anything about that but is it that
hard to give the next step and have something useful for any db access
technology? I believe not, but, as you said, you're the one in charge so
it's really your decision.
As I said, nothing would make me happier than to simply drop the core s#arp
assembly into my projects and reuse the base classes. With the current
release, this is not doable due to the reasons I've presented earlier.
Now, I hope you don't get me wrong. I don't want to upset anyone. I'm just
trying to have a base assembly I can use anywhere I apply domain driven
design.
And yes, this is my last post on this topic.
Thanks :)
Luis
I’m just sending this to say that this resume seems correctJ
<br
--
Regards,
Luis Abreu