سؤال

أحاول معرفة ما هي أفضل طريقة هي أن يكون لها نمط مواصفات في PHP حيث يمكن للمواصفات (اختياريًا) تحويلها إلى PHP.

أنا أستكشف بعض الاتجاهات الجديدة وأختبر مدى جودة عملها. لا تزال الكود والأفكار غير واضحة للغاية في ذهني.

سيكون الحد الأدنى من الواجهات مثل هذه:

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

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

إذا كان المستودع يخفي قاعدة بيانات SQL ، فسوف تحتاج المواصفات إلى تحويلها إلى SQL. إضافة طريقة -> TOSQL () تبدو مخصصة. يعد الفصل الذي يترجم المواصفات أيضًا خيارًا ، لكن يبدو أن الكثير من النفقات العامة لإنشاء SQL أخيرًا.

أفكار موضع تقدير.

هل كانت مفيدة؟

المحلول

نقلاً عن Poeaa (pg.324):

تحت الأغطية، مخزن يجمع رسم خرائط البيانات الوصفية (329) مع كائن الاستعلام (316) لإنشاء رمز SQL تلقائيًا من المعايير. ما إذا كانت المعايير تعرف كيفية إضافة أنفسهم إلى استعلام ، كائن الاستعلام (316) يعرف كيفية دمج كائنات المعايير ، أو رسم خرائط البيانات الوصفية (306) نفسه يتحكم في التفاعل هو تفاصيل التنفيذ.

ال المعايير في هذا الوصف بالطبع الخاص بك نمط المواصفات. أود أن أقول نهجك المقترح لاستخدام أ toSQL الطريقة في الكائنات المعايير جيدة عندما يكون التطبيق صغيرًا نسبيًا. كما قلت بالفعل ، يعد الذهاب إلى الطرق الأخرى أكثر صعوبة ، ولكنه يوفر أيضًا مرونة أكبر وفصل. في النهاية ، يمكنك فقط أن تقرر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top