Code With Somar
2.71K subscribers
442 photos
4 videos
1 file
812 links
🚀 ريادي أعمال ومطوّر ويب بخبرة واسعة

💻 متخصص بتطوير حلول ويب متكاملة باستخدام Laravel، Django، React، Vue، و Node.js.

🏆 ضمن أفضل 4 صناع محتوى في سوريا وأفضل 3 في المحتوى التقني.

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
اليوم رح نحكي عن الـ Singleton Pattern

في حال ما شفت المنشور اللي حكينا فيه عن الـ Facade فالرابط هنا

لنبدأ حديثنا بـ ماهو الـ Singleton Pattern :
بدايةً وجد هذا الـ Pattern لضمان تأمين حالة واحدة للـ class شو يعني؟؟
لنفترض انه عندي class بحاجة Object واحد منها فقط هذا شرط لعمل المشروع، و لما بكون في حاجة لوجود أكثر من Object واحد أنا رح أتحايل على الموضوع و ابعت الـ Object اللي انا اساساً عامله سابقاً

مو واضح الشرح؟؟؟
طيب خلينا نتخيل الموضوع مثل لوحة الكهرباء الموجودة في المنزل، في لوحة واحدة عم تتحكم بكل الكهرباء ولو كان يوجد أكثر من واحدة كان رح يكون الموضوع معقد و احتمال المشاكل و الخطأ فيه كبير و الإصلاح حيكون معقد صحيح؟

وين بشوف هاد الكلام بالويب؟
أكثر شي بعبر عن هذه الحالة بالويب هو الاتصال بقاعدة البيانات، بدك Obj واحد لهي المعلومات يتم مشاركتها ضمن التطبيق.

ماهي فوائد استخدام الـ Singleton Pattern ؟
1- يضمن لنا إن الـ (Class) سيكون لها (Object) واحد بس
2- يوفر (Global Access Point) للـ (Object) أو فينا نقول إن في أي مكان في المشروع الخاص فيك رح تقدر تستعمل الـ (object) هاد بدون أي مشكلة
3- كفاءة عالية في استخدام الـ Memory

ماهي عيوب استخدام الـ Singleton Pattern ؟
1- يتعارض مع مبدأ (Single Responsibility Principle) ، لأنه بيعمل مهمتين في نفس الوقت ، أولاً: بيضمن إن الـ (Class) رح يكون الها (Object) واحد بس ، وثانياً: بيوفر (Global Access) للـ (Object) والمبدأ هاد باختصار بينص على أن الـ (Class) أو الـ (Function) لازم يكون الها وظيفة واحدة بس
2- أحياناً بيكون صعب تعمل (unit test) للكود

أتمنى أنه هاد المنشور قام بتوضيح بعض النقاط الخاصة عن هاد الـ Pattern و بترك الباقي بأيدكم للبحث و التوسع بالمعلومات أكثر عنه

نلتقي في منشور قادم عن البرمجيات 🙏🏻
=================================================
لا تنسوا متابعتي على باقي المنصات:
Facebook: www.facebook.com/SomarKesen

Linkedin: www.linkedin.com/in/somarkn99

Website: https://www.somar-kesen.com/

Instgram: www.instagram.com/somar_kn

عم احكي فيهم عن تطوير البرمجيات و سوق العمل بمنشورات شبه يومية من خبرة تزيد عن 5 سنوات في هذا المجال 🚀

#SoftwareDesign #SingletonPattern #WebDevelopment #CodingSimplified
👍62🔥1