I just want to clearlify one thing. As I understand, infrastructure layer should contain things related to external modules or system only (IO, DB, Gateways...). But while exploring examples over the internet of DDD implementation I noticed that there are many examples when people put different things in this layer, such as random number generation, helpers, generic things and so on...\
E.g. here Roy Oliver suggested such structure, where you can find things as Project.Infrastructure.Components
. Could someone explain me is it acceptable or it's just a missunderstanding?