Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Rave Wiki" for change 
notification.

The "ArchitectureTopics/Persistence/ModelIsolation" page has been changed by 
ChrisGeer:
http://wiki.apache.org/rave/ArchitectureTopics/Persistence/ModelIsolation?action=diff&rev1=3&rev2=4

- The current model is very tightly coupled with inter-related classes directly 
referencing each other to build a fairly complex model graph.  This approach 
makes providing a mixed persistence mode very difficult.  This proposal 
attempts to rectify the situation by defining "verticals" within the object 
model that can remain tightly coupled but using ids to reference "horizontal" 
objects.
+ The current model is very tightly coupled with inter-related classes directly 
referencing each other to build a fairly complex model graph.  This approach 
makes providing a mixed persistence mode very difficult.  This proposal 
attempts to rectify the situation by defining "verticals" within the object 
model that can remain tightly coupled but using ids to reference "horizontal" 
objects. This coupling also affects how objects should be persisted/acted-on as 
groups. Along with the entities below the () contain the service and repository 
objects that will manage the items.
  
  '''Verticals'''
  ----
- '''''Page'''''
+ '''''Page''''' (PageService, PageRepository)
   * Page
   * Region
   * RegionWidget
@@ -12, +12 @@

   * PageUser
  
  '''''Page Prototyping'''''
-  * PageTemplate
-  * PageTemplateRegion
-  * PageTemplateWidget
+  * PageTemplate (PageTemplateService, PageTemplateRepository)
+  * PageTemplateRegion (PageTemplateService, PageTemplateRepository)
+  * PageTemplateWidget (PageTemplateService, PageTemplateRepository)
  
- '''''Page Rendering'''''
+ '''''Page Rendering''''' 
-  * PageLayout
+  * PageLayout (PageLayoutService, PageLayoutRepository)
  
- '''''Widget'''''
+ '''''Widget''''' (WidgetService, WidgetRepository)
   * Widget
   * WidgetComment
   * WidgetRating
@@ -27, +27 @@

   * Tag
   * Category
  
- '''''Person'''''
+ '''''Person''''' (PersonService, PersonRepository)
   * Person
   * PersonProperty
   * Address
   * Organization
  
  '''''User'''''
-  * User
-  * Authority
+  * User (UserService, UserRepository)
+  * ApplicationData (UserService, UserRepository)
+  * Authority (AuthorityService, AuthorityRepository)
  
  '''''System'''''
-  * PortalPreference
+  * PortalPreference (PortalPreferenceService, PortalPreferenceRepository)
  
  '''''OAuth'''''
   * OAuthConsumerStore
   * OAuthTokenInfo
  
- '''''Groups'''''
+ '''''Groups''''' (GroupService, GroupRepository)
-  * Group
+  * Group 
  
- '''''Application Data'''''
- 
-  * ApplicationData
- 

Reply via email to