Question

Je suis en train de savoir quelle est la meilleure façon serait d'avoir un modèle de spécification en PHP où les spécifications pourraient (le cas échéant) par transformée en PHP.

J'explore de nouvelles directions et je teste comment ils travailleraient. Code et les idées sont encore très clair dans mon esprit.

interfaces minimales seraient comme celles-ci:

interface IRepository {
    public function get(ISpecification $specification);
}

interface ISpecification {
    public function isSatisfiedBy($candidate);
}

Si le dépôt se cache une base de données sql la spécification devrait transformer sql. Ajout d'un -> méthode toSQL () semble ad hoc. Une classe qui se traduit par le cahier des charges est également une option, mais il semble que beaucoup de frais généraux pour générer enfin le sql.

Des idées ont apprécié.

Était-ce utile?

La solution

Citation de POEAA (pg.324):

  

Sous les couvertures, Référentiel combinats cartographie des métadonnées (329) avec requête d'objets (316) pour générer automatiquement le code SQL à partir des critères. Que les critères savent comment s'ajouter à une requête, le Objet de la requête (316) sait comment incorporer des objets critères, ou Cartographie des métadonnées (306) contrôle lui-même l'interaction est un détail de mise en œuvre.

critères dans cette description sont bien sûr votre modèle de spécification . Je dirais que votre approche proposée d'utiliser une méthode de toSQL sur les objets de critères est très bien lorsque l'application est relativement faible. Comme vous l'avez dit déjà, les autres voies aller est plus difficile, mais il offre également une plus grande flexibilité et le découplage. En fin de compte, vous seul pouvez décider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top