أنماط التصميم Design Patterns كثيرة ، ماهي الأنماط التي تعجبك وتستخدمها بكثرة في مشاريعك البرمجية و تجد أنها فعلاً أضافت لمشروعك ( لا تكتب أي شيء تعرفه! اكتب ما تستخدمه فعلا ).

شخصيا لا أستغني عن :

  • MVC و Front Controller : أستخدمه بكثرة في تطبيقات الويب و الموبايل ، لم أستطع الإستغناء عنه.

  • Factory و Abstract Factory : أحياناً أستخدمه في الويب ، و كنت أستخدمه في تطبيقات سطح المكتب لإنشاء Graphics Engine يعمل على كل من DirectX و OpenGL

  • Singleton : كثيراً من الفئات Classes ، يجب أن لا يظهر منها نسختين أثناء دورة حياة البرنامج ، في الحقيقة ، لاحظت أن معظم Http Classes مثل Request و Response يمكن تصميمها على هذه الهيئة.

  • Adapter: في الحقيقة لست متأكدا من أن ما أقوم به يسمّى Adapter ، لكن لدي Log و يقابله FileLog و DBLog و هكذا ، بحيث يمكن أن أختار أين أضع logs دون إعادة كتابة الشيفرة، ويمكن حتى دعم أنواع مستقبلية من Log لأن لدي Adapter يمكن أن أغيره متى ما أردت.

*بعض الأحيان أجد نفسي أقوم بأشياء غريبة تشبه Dependecy Injection و قد تسمّى IoC ؟ لا أعرف ، لست خبيراً في هذا النمط، بحيث يمكن أن أغير نوع الفئة من خلال Config File مثلاً ؟

ماذا عنك؟