انجمن ایران پی اچ پی
بهترین design pattern برای استفاده از چند دیتابیس - نسخه قابل چاپ

+- انجمن ایران پی اچ پی
+-- انجمن: پی اچ پی/PHP (https://forum.iranphp.org/Forum-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-PHP)
+--- انجمن: شی گرایی (https://forum.iranphp.org/Forum-%D8%B4%DB%8C-%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C)
--> +--- موضوع: بهترین design pattern برای استفاده از چند دیتابیس



بهترین design pattern برای استفاده از چند دیتابیس - Null - ۱۳۹۷ فروردین ۲۶

سلام
بهترین design pattern برای پشتیبانی و استفاده از چندین دیتابیس چیه؟ (بجز PDO)
که کاربر و برنامه نویس براحتی بتونه بین اونها سویچ کنه. مثلاً فقط با تغییر یک نام. از mssql به mysql

یعنی کلاس ها و اینترفیس ها رو طوری طراحی کنم که یک رابط مشترک بین همه کلاس ها باشه و برنامه نویس از اون رابط مشترک استفاده کنه. mysql mssql pgsql...

چه نوع design pattern هایی براش وجود داره و بهترین کدومه؟
ممنون


RE: بهترین design pattern برای استفاده از چند دیتابیس - Y.P.Y - ۱۳۹۷ فروردین ۲۷

adapter؟


RE: بهترین design pattern برای استفاده از چند دیتابیس - Reza - ۱۳۹۷ فروردین ۲۷

نقل قول: چه نوع design pattern هایی براش وجود داره و بهترین کدومه؟
فکر کنم adapter و bridge و factory میتونن این بخش رو
نقل قول:یعنی کلاس ها و اینترفیس ها رو طوری طراحی کنم که یک رابط مشترک بین همه کلاس ها باشه
پوشش بدن .

برای سویچ راحت بین دیتابیس ها هم من توی چند فریم ورک و اسکریپت دیدم غالبا adapter بوده .


RE: بهترین design pattern برای استفاده از چند دیتابیس - Null - ۱۳۹۷ فروردین ۲۹

ممنون
مثال واقعی یا نمونه کد واقعی هم براش دارید که اداپتر رو درست پیاده سازی کرده باشه؟
و چطوری یک اینترفیس رو که بحالت enum استفاده کردم(با const) به توابع یک کلاس وارد کنم؟


RE: بهترین design pattern برای استفاده از چند دیتابیس - scorpion - ۱۳۹۷ اردیبهشت ۲۱

(۱۳۹۷ فروردین ۲۹, ۰۴:۱۵ ق.ظ)Null نوشته: ممنون
مثال واقعی یا نمونه کد واقعی هم براش دارید که اداپتر رو درست پیاده سازی کرده باشه؟
و چطوری یک اینترفیس رو که بحالت enum استفاده کردم(با const) به توابع یک کلاس وارد کنم؟

ترکیبی از DI و ORM کاملترین راه حل هست . نمونه پیاده سازی خوب در سیمفونی :

http://symfony.com/doc/current/doctrine/multiple_entity_managers.html