2010-01-02 6 views
-1

Ma question peut être stupide, mais je veux effacer mon doute.créer plus d'objet est incohérent?

Je suis php, développeur mysql.

Alors que le codage de l'une des tables nécessite des objets de la classe A pour chaque ligne.

Dites qu'il ne créera pas d'objets basés sur la ligne.

Ce concept est-il incohérent?

Class A 
{ 

    function __construct($userid) 
    { 

    } 
} 

class B 
{ 
    function action_add($userid) 
    { 

    } 
} 

Par conséquent, la classe A doit créer chaque objet pour chaque ligne de la table.

La classe B nécessite un objet pour une table.

Question 1

En utilisant la classe A (beaucoup d'objets) est incompatible?

Question 2

Dans deux classes qui est le mieux?

Répondre

1

Désolé, je ne comprends pas le contexte de la question et je ne sais pas ce que vous voulez dire par 'incohérence'. Mais, ces liens peuvent vous aider:

Table Data Gateway modèle architectural http://martinfowler.com/eaaCatalog/tableDataGateway.html "Un objet qui agit comme une passerelle (466) à une table base de données Une instance gère toutes les lignes de la table.".

Data Mapper modèle architectural http://martinfowler.com/eaaCatalog/dataMapper.html « Une couche de mappeurs (473) qui déplace les données entre les objets et une base de données tout en les gardant indépendants les uns des autres et le mappeur lui-même. »

Peut-être avez-vous besoin des deux? Un qui a accès à la table entière et un qui représente une rangée de la table?

Extra stuff: La classe B suffirait. Mais, si vous voulez un niveau supplémentaire d'indirection, vous pouvez vouloir les deux, dont l'un est un Data Mapper et l'autre qui est une passerelle de table (et une troisième classe qui représente votre objet de domaine, par exemple une personne). Bien sûr, cela peut être une surcharge, mais il sépare l'objet domaine des détails de la base de données.

Questions connexes