اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

انماط التصميم(design patterns) ترمز لطريقة معينة لحل مشكلة شائعة نوعا ما في عالم الSoftware , مثلاً نوع من المشاكل هو كيفية إنشاء الكائنات؟ يوجد عدد ﻻ نهائي من الطرق لإنشاء الكائنات بالتأكيد حسب الموقف ولكن يوجد مواقف شائعة يمكننا مناقشتها والإهتمام بها, مثلاً إن كنا نريد إنشاء كائن وكان هذا الكائن لديه الصفات الأتية

  1. هذا الكائن مشترك بين عدد من الكائنات في البرنامج
  2. عملية إنشاء الكائن مكلفة وتستهلك كميةً لا بأس بها من موارد الجهاز
  3. هذا الكائن ليس له state معينة, او الstate الخاصة به مشتركة بين الكائنات في البرنامج طوال دورة حياة البرنامج( الstate نقصد بها حالة الكائن ,مثلاً إن كان يعبر عن إتصال بقاعدة البيانات, فهل حالة الكائن هي أن الإتصال مفتوح ؟ أم تم إغﻻق الإتصال؟

في هذه الحالة ليس من العقل أن نقوم بإنشاء الكائن في كل مرة نحتاجه بها , من المنطقي أن نقوم بإنشاء ذلك الكائن مرة واحدة ويقوم باقي الكائنات بإستدعائه في كل مرة كما في المثال الأتي

    class singleTone{  
     private static singleTone obj=new singleTone();
     private singleTone(){}  
       
     public static singleTone getInstance(){  
      return obj;  
     }  
      

    }  

الconstructor الخاصة بهذا الclass من النوع الخاص privateمما يعنى أن لا يمكننا إنشاء كائنات منه, الطريقة الوحيدة للحصول على كائن منه هي مناداة الدالة getInstance والتي بدورها تقوم بإرجاع الكائن الذي قمنا بإنشاءه سابقاً في بداية الclass , ففي هذه الحالة نستطيع ضمان أن لن يتم إنشاء هذا الكائن أكثر من مرة , وبالمناسبة هذا النمط يُسمى بال singletone pattern   وقد وضعته حتى أوضح لك معنى انماط التصميم بشكل أفضل

  • 0
نشر (معدل)

عبارة عن حلول لمشاكل معروفة في مجال السوفتوير  و كل نمط يمثل مخطط الذي يمكن التعديل عليه لكي يحل المشكلة و تسهل التواصل بين المبرمجين و تلك الحلول تم إختبارها لكي تعطي افضل سرعة 

وتنقسم إلى  

  1. Creational patterns و هي عبارة عن انماط لأنشاء كائنات على أساس المعيار المطلوب مثل

- Abstract factory

-Builder

-Dependency Injection

-Factory method

-Lazy initialization

-Multiton

-Object pool 

-Prototype

-Singleton

    2.. Structural patterns وهي عبارة عن أنماط لتنظيم class وكائنات مختلفة لتشكيل هياكل أكبر وتوفير وظائف جديدة مثل

-Adapter

-Bridge

-Composite

-Facade

      3.behavioral patterns وهي تحديد أنماط الأتصال المشتركة بين الكائنات مثل

-Blackboard

-Command

-Interpreter

-Iterator

ويكنك الأطلاع علي هذه المقالة الرابط هنا

تم التعديل في بواسطة Ziyad Hasan
  • 1
نشر

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

تعتبر أنماط التصميم سهلة التعديل وسهلة الاختبار ومن أشهرها  MVC و MVVM و  Singleton وغيرها من أنماط التصميم 

هناك أنواع متعلقة بإنشاء الكلاس  
نمط  Singleton 
نمط  Builder 
نمط  Prototype
نمط  Factory Method
نمط  Abstract Factory 
أنماط متعلقة بشكل الكلاس وكيفية عمله 
نمط  Adapter
نمط  Composite
نمط  Facade
نمط   Bridge
نمط  Decorator
نمط  Proxy
نمط  Flyweight
أنماط متعلقة بسلوك الكائنات 
هذه الأنماط  تتعلق بكيفية التواصل بين الكائنات بشكل منفصل 
نمط  Mediator
نمط  Observer
نمط   Null Object 
نمط   Memento 
نمط   State
نمط   Visitor
وهناك أنماط أخرى
في هذا النمط  MVC 
Model  يحتوى على البيانات 
view  عرض المعلومات للمستخدم
controller  يعالج البيانات التي تأتي من المستخدم 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...