We have discussed separation of User & Person in the past [1]; but, have yet to take action to modify the current inheritance model. I have been working on separating out direct references to people in the model split branch and have gotten to the point where I am ready to take on this User/Person split.
I plan on just splitting the interfaces and noting that there is a logical constraint that Id & Username (both properties of Person & User) MUST be the same between the two objects. I also plan to remove any profile or "person" information from the User interface and ensure that it is part of Person and moving any operations that are related to people (friends, etc) into the person service. Thoughts? [1] http://s.apache.org/l1C
