I have resently started working for a company using CSLA. I have been referencing the sample projects heavily trying to understand good oo design principles and CSLA. I have been having a discussion with my co worker about proper use of encapsulation and how best to implement this.
In the sample ProjectTracker.Library there is the ResourceAssignmentEdit class. In that class there is a reference to the ProjectName and ProjectID. Why are these individual properties instead of a property for the ProjectEdit class. It seems like the Project Name and ID are attributes of the Project and the resource assignement uses them but should not contain them.
Should there be a reference to the Project Edit object in the Resource Assignment object? If not how does apply to encapsulation.