Question: I'm creating dates from strings with the format 'yyyy-MM-dd' but they're always created on the previous day for some reason. If I set the date as '2012-10-31' the Date object with actually be 30 of October and not 31. For example, this:

```
var d1=new Date('2012-10-31');

```

Will output this: 

```
Tue Oct 30 2012 19:30:00 GMT-0430 (Venezuela Standard Time)

```

Can someone explain why this happens?

Answer: 
Both are valid approaches. I tend to favour the first option, because it allows better modularity and quite clear boundaries for high level BC. The second option is the 'standard' way of doing this, it favours let's say a more technical layering, while the first option literally favours a more domain driven layering.

Choose the one you feel more comfortable with.
I think it is not a question about DDD precisely but about an architecture. What kind of coupling between bounded contexts is acceptable/desirable for you. 

If all your bounded contexts will:

* be developed in one programming language
* access the same database engine
* be developed by a relatively small team (up to ~20 people)

then probably you should go with the second approach - each bounded context contains its own domain and application layer and all the bounded contexts share the same infrastructure and application layer.

In other cases, you should considering the microservces/SOA architecture.