Ticket #933 (closed Enhancement: fixed)
Core API: introduce Model Factory
Reported by: | jri | Owned by: | jri |
---|---|---|---|
Priority: | Major | Milestone: | Release 4.8 |
Component: | DeepaMehta Standard Distribution | Version: | 4.7 |
Keywords: | Cc: | dgf, Malte, JuergeN | |
Complexity: | 8 | Area: | Application Framework / API |
Module: | deepamehta-core |
Description (last modified by jri) (diff)
From an architectural viewpoint the various Core responsibilities -- DB access, DM object instantiation, Access Control, creating directives, firing events -- are partly still too intertwined. The current layering approach is not stringent and thus makes the DM Core more and more difficult to maintain. This became evident in the face of the required refactoring of the Delete operation (see #833).
Internally the Core's model classes needs direct read access to the DB resp. to the type model cache. On the other hand the direct DB access must not be available to Core API users (and furthermore the Core API users should not be supposed to pass the dms object when creating model instances). This can be realized by specifying public interfaces for the model classes too. The Core API user would instantiate model objects through a public Model Factory then.
Change History
comment:10 Changed 9 years ago by Jörg Richter <jri@…>
comment:11 Changed 9 years ago by Jörg Richter <jri@…>
comment:12 Changed 9 years ago by Jörg Richter <jri@…>
comment:13 Changed 9 years ago by Jörg Richter <jri@…>
comment:14 Changed 9 years ago by Jörg Richter <jri@…>
comment:15 Changed 9 years ago by Jörg Richter <jri@…>
comment:16 Changed 9 years ago by Jörg Richter <jri@…>
comment:17 Changed 9 years ago by Jörg Richter <jri@…>
comment:18 Changed 9 years ago by Jörg Richter <jri@…>
comment:19 Changed 9 years ago by Jörg Richter <jri@…>
comment:20 Changed 9 years ago by Jörg Richter <jri@…>
comment:21 Changed 9 years ago by jri
The "model-factory" work of the recent 2 weeks is now merged into master.
Please test!
comment:22 Changed 9 years ago by Jörg Richter <jri@…>
comment:23 Changed 9 years ago by Jörg Richter <jri@…>
comment:24 Changed 9 years ago by Jörg Richter <jri@…>
comment:25 Changed 9 years ago by Jörg Richter <jri@…>
comment:26 Changed 9 years ago by jri
- Status changed from accepted to closed
- Resolution set to fixed