[ComposerObject] Relaciones entre objetos

Asked by Alexander on 2015-07-14

Cual es el funcionamiento del la clase ComposerObject?, cree una clase "categoría" que puede tener muchos tipos , pero los tipos solo pertenecen a una categoría. Es una relación de uno a muchos correcto? la clase "categoría" debe heredar de la clase ComposerObject y poseer una variable llamada categoria_id, así mismo la clase "tipo" debe extenderse de la clase StandardObject y una de sus variables debe llevar la siguiente sintaxis:
$this->categoria_collection = array();
En que me estoy equivocando? Gracias :)

Question information

Language:
Spanish Edit question
Status:
Solved
For:
Europio Engine Edit question
Assignee:
No assignee Edit question
Last query:
2015-07-14
Last reply:
2015-07-15
Eugenia Bahit (eugeniabahit) said : #1

EN LA PROGRAMACIÓN ORIENTADA A OBJETOS:
Las relaciones de "muchos a uno" pueden ser de dos tipos:

1) exclusivas (o de pertenencia): donde un mismo compositor puede componer a uno y solo uno. En este tipo de relaciones, el compositor "no tiene sentido" sin el compuesto. Un dato de contacto, por ejemplo, no tiene sentido si su compuesto (cliente, persona, etc.) no existe.

Aquí, la relación está dada desde el compositor hacia el compuesto por eso, el compositor, *debe tener una propiedad "de pertenencia"* cuyo valor sea el de la propiedad ID del objeto al que compone.

El compuesto, al igual que cualquier compuesto que se componga de una "colección" de objetos, deberá tener una propiedad "colectora" (colección de objetos cuyo valor inicial será un array)

El compositor, en este caso, es denominado "de pertenencia" (depende del compuesto y sin él pierde sentido).

2) no exclusivas: donde un mismo compositor puede componer a más de uno. Aquí, la relación debe marcarse desde un tercer objeto (un conector lógico). Un ejemplo es producto. El objeto producto tiene "vida propia" incluso aunque no forme parte de ninguna orden de pedido. No obstante, el mismo producto, puede componer a una o más órdenes de pedido.

EN EUROPIO ENGINE:
ComposerObject es el objeto del cual pueden heredar los compositores de pertenencia (ComposerObject hereda a la vez de StandardObject).

Las propiedades colectoras de cualquier objeto, utilizan como estándar el sufijo _collection.

En la pág. 15 del sig. PDF hay un ejemplo:
http://library.originalhacker.org/biblioteca/articulo/ver/152

Para saber más sobre POO y los compositores exclusivos, te recomiendo el capítulo V del libro "Teoría sintáctico-gramatical de objetos":
http://www.bubok.es/libros/219288/Teoria-sintacticogramatical-de-objetos

Eugenia Bahit (eugeniabahit) said : #2

resuelto en la rta anterior