I’m having trouble defining the boundaries of my bounded context(s). I have the following, simplified/incomplete, versions of the classes in my domain. All of these classes are unique so they are Entities and I think they should be AR’s as well, though I’m less sure about that last point. A Customer, User and Carrier are necessary to make a load, but they can all obviously exist without a load. They have validation and other actions that must be completed before they can be added to a Load. User is responsible for initiating CRUD operations on Customer, Carrier and Loads which include adding Carriers and Customers to Loads.
Should Customers, Carriers, Loads and Users each be AR’s and/or have their own bounded contexts?
public class Customer { public Guid Id { get; protected set; } public string Name { get; protected set; } public CustomerStatus Status { get; protected set; } } public class Carrier { public Guid Id { get; protected set; } public string Name { get; protected set; } public CarrierStatus Status { get; protected set; } } public class User { public Guid Id { get; protected set; } public Role Role { get; protected set; } } public class Load { public Guid Id { get; protected set; } public LoadStatus Status { get; protected set; } public Guid CustomerId { get; protected set; } public Guid CarrierId { get; protected set; } public Address Origin { get; protected set; } public Address Destination { get; protected set; } public string Commodity { get; protected set; } }