166 reputation
6
bio website sapiensworks.com/blog
location Bucharest, Romania
age
visits member for 2 years, 8 months
seen May 12 at 16:18

I'm a asp.net mvc, C# fan who loves to develop reliable and maintainable web apps. I'm also interested in the business part of the problem, psychology, marketing and strategy games.


Sep
24
awarded  Autobiographer
May
6
comment To Repository Or Not To Repository
About adding a new way to query an aggregate root or any entity, that's why CQRS appeared. Personally, I keep the Repository for domain purposes and use query handlers for actual querying. And those handlers are very tightly coupled to the db and ofc very efficient at what they do.
May
6
comment To Repository Or Not To Repository
The point of the repository is to decouple app from persistence and there's no complexity involved. And I change the persistence details at least once, because the db access is the last thing I code, until that point I'm using in memory repos. Besides, there is a very subtle trap when you're using a persistence detail directly. Your business objects will tend to be designed to be compatible with it, instead of agnostic. And that's because a rich, properly encapsulated entity can't be directly restored from any storage (except memory) without (some ugly) workarounds
May
6
comment Domain Services vs. Factories vs. Aggregate Roots
I use domain services to implement domain use cases. I rarely use factories, don't really need them.
Feb
25
awarded  Commentator
Feb
8
comment When subclassing is it better to “Copy Paste, then Refactor”, or “Refactor, then Implement”
How about using an interface, if supported by the language?
Feb
8
comment Developing only for 64 bit servers a bad idea?
What? Even the db has the Guid data type aka UUID. Why do you want integers? And I'm using Guids on windows a lot btw, it has nothing to do with unix. THe time thing is how they are generated but you care about the outcome which is always the same size 16 bytes I think.
Feb
8
comment Developing only for 64 bit servers a bad idea?
How about using a Guid?
Feb
5
comment How to measure that a team is doing Test Driven Development
I've already said that some things can't be really measured and personally I wouldn't consider to convert the software devel to numbers. If 1-2 good developers leave and only some junior remain, it doesn't matter that your process uses TDD,DDD, whatever DD. The results will suffer. And someone will come up with yet another stupid formula for 'better' metrics, when the reality is much simpler: it's about developer skill and experience, not about assembly line process. How can you measure dev skill or exp? You can't, unless you consider 7 years of C# to be a meaningful metric.
Feb
5
comment Why should an “Order” object have a “Status” property?
Noooo... don't stick the status to a class that doesn't need it. Create something like OrderFullfilmentTracker (bad name) and stick the Status to it.
Feb
5
comment Why should an “Order” object have a “Status” property?
I'd suggest to just do it. Or wait until I write an article about it :))
Feb
5
answered How to measure that a team is doing Test Driven Development
Feb
5
comment ASP.NET MVC SoC when dealing with back end objects (design decision)
You know MVC is a UI pattern.
Feb
5
comment DDD and the persistence of value objects; must we denormalize?
You should keep in mind that even if you're using a RDBMS some bits of the model (Domain objects) are easier to store in a key-value table at least the 'command' model. Basically you should aim to come up with the best persistence strategy for different parts of the model instead of one way of doing things. A kv store will alow to store ANY domain object state in serialized form, regardless of the object structure. It's very maintainable but it applies mainly (99%) to the Command model. The Read model can be stored in the 'traditional' relational way, it depends on your query needs.
Feb
4
awarded  Teacher
Feb
4
answered Distribution of Event Listeners in a Distributed Service Oriented Architecture
Feb
4
comment Why should an “Order” object have a “Status” property?
People interact with a View. The view model is quite different than the Order domain object. The view model has a Status, the Order doesn't need it as the Order is most of the time an immutable object (it can vary from domain to domain)
Feb
4
answered Why should an “Order” object have a “Status” property?
Jan
20
comment TDD - Making assertions about C# Expression trees
I think we need more info. What is the purpose of the method, a bit of context/background would help. I mean I do understand what the code does, but I can't understand why
Apr
1
awarded  Supporter