Tag Info

New answers tagged

0

You might consider using a Queue Pooling mechanism in order to manage RabbitMQ Queues, and also to determine necessary pool-size under load. Here is a tutorial on the subject.


1

Am I going about this the right way? Or am I maybe over-complicating it or missing something? I think you have a start of a design; you are teasing out the concepts and their basic relationships and the constraints on the relationships, which is a great start. For me, what I like to do is before I do any real detail on classes and operations (e.g. what ...


1

According to Vaughn Vernon it is best to use entity framework as state objects when designing aggregates when designing aggregates because they are inflexible compared to other ORMs. With that in mind. Why are you starting with entities? In DDD you need an aggregate root to maintain the consistency boundary. An aggregate root may have entities and value ...


1

A contractor can be assigned to several sites. A site can have multiple contractors assigned to it. When you fetch sites for a contractor, will you also fetch each site's associated contractors? And will you then fetch their sites? Letting the lazy evaluation and reference resolution already implemented in EF do the work for you really pays dividends in ...


0

In general, you need more concepts and more relationships between them, or you'll have problems as your modeling expands. For one, it seems to me that you are missing a notion of Contract. The notion of start date and end date relate more to the specific contract rather than the contractor (the contract then relates to the contractor). I think you should ...


5

I would say go for it. I would argue that the advantages outweigh the disadvantages in this case. The extra code is likely to be pretty minimal and the persistence issue can be solved pretty easily be providing some sort of converter between your new Class and the type the database expects (I've never used Entity Framework but I know this is relatively ...


6

If you can give the class enough useful functionality to justify the added complexity of not being a string, then do it. For identifiers like ISBN and ISIN, I suspect this is not the case. For an identifier class to be useful, I'd expect it to look something like this: class ISIN { fromCUSIP() fromRawISINString() toString(ISIN::FormatType) ...


2

Keep your DTO's simple You are right that having a command with 9 arguments in the constructor is ugly. But do you really HAVE to put those things into the constructor? Make your fields public, create your command with an empty constructor and just assign to the fields. The point of constructor arguments is to have guaranteed valid entities, since you are ...


0

In my app, the logic flow goes Controller builds DTO Controller dispatches to Command Bus Command Bus Calls Events Event Handlers dispatch to the Command Bus as well Command Handler returns a response DTO to the controller Controller generates a response to the client based on the response Your application seems similar. Decoupling is also an issue for ...



Top 50 recent answers are included