@yreynhout
You are right in all the ways. I'm just playing. I told in first post
that this isn't a core domain.
What about a web site, where is a Core Domain but the "custom" user
management too? Imagine e.g. a web site where customers register,
confirm registration, they have some demo access, they can pay for
full access, they can forget password ... do you think this is a
generic domain?
The paradox is, that I have only little problems when impl. core
domain(after subscribing view to domain events only few left). I have
problems with "secondary" domain, where is possibility to profit from
CQRS infrastructure, but there are also ohter spec. requirements. So,
discussion sometimes helps me to ensure, that the way I think about
problem is not good.
Yes, hash + salt. But dictotionary attack = attacking my readside.
Sure, there are more sophisticated/clever ways how to implement the
lock, but this was just lightweight sample.
I'm trying to involve new technologies and approaches in my
playground. There is number of ways, how to apply or profit from CQRS.
I test some of them on real scenarions(real domains I already
experienced) to be able to make valuable decisions for my employer in
the future. (but we "use" CQRS for more than 2 years but in very
naiver?, pragmatical? way according to project requirement and
infrastructure setup which is mostly a shared muscular RDBMS storage.
Readside: views + some lightweight dataaccess to profit from that iron
without cache or anything. Write side NH and old fashion remote fasade
+ very compromise domain model. E.g. it removed complexity from "DM",
removed common risks like deep object graph that programmers often
belittled, ability to involve juniors(read side), profit from muscular
RDBMS on read side but side byt side profit from ORM in write side.)
But now, we start to get projects where vert. scalability is
necessary.
So I like all the "myth busting" job(esp. Udi + Greg), that CQRS
community is doing. Lot of things that was said number of us felt for
years as a problem, but no one was so brave ;-) to tell it loudly and
suggest some none "mainstream silver bullet" solution. So I'm still
not looking for silver bullet for anything. This is a lesson I learned
during 12+ years doing enterprise solutions. I need to get CQRS into
context and practise. As an architect I still code lot (at home), to
have experience with what I preach :-D So I gave "stupid" questions. I
don't expect theory, preach, I expect you share your practice - e.g.
"Yes, I faced the same problem. Requirements for this problem were
specific and this form of CQRS was not applicable for this part of
solution. I involved different approach than for the rest of the
solution. And it was ...". To be able to recognize edge cases where
not to apply some pattern is equally important like to know that
pattern. That's one of the reasons I like e.g. Martin Folwer so
much :-)
Sorry for longer post