• 0
Sultan_Althibity

أسئلة في السي++

سؤال

لدي بضعـة أسئلة بسيطـة للغاية ، ربما أعرف إجابتها لكنها غامضـة...


ما معـنى المصطلح Disgen Patterns (قد أكون كتبته خطأ) وما تعريفـه وما هـو...؟


السؤال الثاني: ما هي المؤشرات الذكيـة هل هي زيادة تحميل المعامل -> وإذا كان كذلك فلماذا أطلق عليه هذا الاسم..


السؤال الثالث: أثناء دراستي للخوارزميات مررت بمصطلح أعتقد أنـه fetch وهـو يعـني الوقت اللازم لكي تقوم الخوارزميـة بالانتهاء من عـملها هل هذا التعريف صحيح ...... وشكراً.

تم تعديل بواسطه مصطفى 36a2
add tags
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

10 إجابة على هذا السؤال .

  • 0

Design Patterns : هي عملية تصميم نماذج برمجية لحل مشاكل برمجية " تندرج تحت هندسة البرامج " .

المؤشرات الذكية smart pointers : هي عبارة عن نموذج للمؤشرات يتميز بمميزات عن المؤشرات العادية في انه يقوم بتحرير نفسه من الذاكرة بنفسه ، عدم الوقوع في اخطاء تعريف المؤشرات و حجز ذاكرة صغيرة ، كبيرة لا تف بالغرض ..إلخ

fetch معناها obtain اي يحصل علي .

في المعالجات fetch from memory يعني يحصل علي ..... من الذاكرة .

احمد صالح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً أخي أحمد صالح ...

ولكن ما هـو المؤشر الذكي على الصعيد الكـودي هل هـناك كلمات مفتاحية خاصـة به ... هل هـو بالفعل زيادة تحـميل المعامل new أو -> أو delete ... الذي أريده هـنا المؤشرات الذكية في الأكـواد وليس الفكرة النظرية لها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

http://ootips.org/yonat/4dev/smart-pointers.html

قد يفيدك هذا اللينك ، و اي استسفسار ضعه هنا .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

design يعني تصميم, و التصميم هنا ليس تصميم فوتوشوب :lol: بل تصميم للبرامج .. و ايضا التصميم هنا ليس رسم البرنامج بالفجول ستوديو (مع ان هذا يدخل ضمن نطاق التصميم).

و لكن التصميم هنا هو تصميم الحلول, او لنقل "الخوارزميات" .. ربما كلمة خوارزميات ليست هي الكلمة المناسبة هنا, لكن التصميم بهذا المعنى هو التفكير في المشكلة و طريقة حلها من الناحية النظرية قبل البدء في كتابة الكود.

في الكثير من الاحيان يجد المبرمجون انفسهم يصممون نفس الحل بشكل متكرر عدة مرات .. و الـ design patterns هي انماط في التصميم كثيرا ما تظهر الحاجة اليها.

أبسط مثال عليها هو الـ singleton, و هو ببساطة فكرة انك كتبت class معين و لكنك لا تريد الا كائن object واحد فقط من هذا الصنف class, و تريد ان تكون قادرا على الحصول على مؤشر لهذا الكائن دائما.

و لمن لا يعرف, يتم تطبيق هذه الفكرة بإخفاء الـ constructor اي جعله private, و إنشاء حقل static هو عبارة عن مؤشر لهذا الكائن.

و كمثال على ذلك:

class Example
{
private:
   Example()
   {
   }
   static Example * instance = 0; //0 is NULL

public:
   static Example * getInstance()
   {
       if( !instance )
       {
           instance = new Example();
       }
       else
       {
           return instance;
       }
   }
};

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

او مثلا في حالة إنشاء class يثمل البرنامج Application فهناك فقط نسخة واحدة من البرنامج! الخ.

فهذا عبارة عن design pattern يعني نمط في التصميم كثيرا ما تظهر الحاجة اليه.

ملاحظة: الكود هذا كتبته عالطاير دون ان اختبره, هناك احتمال وجود أخطاء.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً لكم على هذه الإجابات وشكراً على الموقع أخي أحمد صالح وعلى الشرح أخـي حسن الجـودي

جاري البحث في الموقع ومحاولة فهـم موضوع الـ Design Patterns .....

لذلك أي سؤال أو أي استفسار يواجهـني سأقوم بكتابته هاهنا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يوجد كتاب للDesign Patterns في مكتبة قسم ال#C يمكنك الاطلاع عليه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لقد قرأت المقدمـة في كتاب design patterns in C# book ، والحمد الله أن شرحـه أفضل من شرح Thinking Of C++ book في هذا الموضوع... ولقد فهـمت فوائد هذا العـلم.

لدي بضعـة أسئلة هـنا:

1) هل الـ Design Patterns هـو علم أم أنه فـن أم أسلوب برمجي أم ماذا؟

1)هل صحيح أن الـ Design Patterns مأخوذة أو مشتقـة أو أن فكرتها هي من الأدب الإنجليزي؟؟

2)لقد فهـمت أيضاً أن الـ Design Patterns تقسم إلى ثلاثة أقسام:

الأنماط الأبداعية Creational patterns وهذا لم أفهـمه من الكتاب

الأنماط التركيبية Structural patterns وهي تساعـد المبرمح في تركيب عـدة كائنـات حتى تصبح تركيبات كبيرة .. كما في البيانات المحاسبية accounting data.

الأنماط السلوكية Behavioral patterns تساعد المبرمح على تعريف الاتصال بين الكائنات المستخدمـة في النظام (الذي يقوم ببرمجته) و أيضاً تساعد على معرفة مدى السيطرة على تدفق البرنامج في الأمور المعقدة..

هل فهـمي لهذه الأنـواع صحيح .. وأرجو شرح النـوع الأول ولو بمقدمـة بسيطـة ...

3)أيضاً هـناك 23 نمطاً تصميمياً مشهـوراً ، هل من الضروري أن أفهـمها جميعاً

يقول الكتاب أيضاً أن عـملية تعلم الـ design Patterns تشتمل على ثلاث مراحل ، هي:

1- القبول Acceptance

2- الإعتراف Recognition

3- الذاتية أو الإستقلالية Internalization (أو حسب الوورد يضفي عليه صفة ذاتية ، وحسب فهـمي من شرح الكتاب أنها تعـني القبول أو أن يكون هذا النمط مناسب للمشكلة التي أريد حلها)

جميع هذه المراحل أو الخطوات فهـمتها من الكتاب إلا أن المصطلح الثالث لم أجد له مقابلاً في العربية فأرجو من يعرف الترجمة العربية ان يزودني بها.

الذي أود أن اسأله هاهـنا .. هل صحيح أن (من خلال تعلمكم لهذا الموضوع) أن هذه هي عـملية التعلم للـ Design Patterns

سؤال آخر خارج عـن الموضوع وقد يبدو منه أني أحمق: الكتاب دائماً يكتب هذا الاختصار OO بدلاً من OOP فما هـو هذا الاختصار؟؟

سؤال أخير (لمن قرأ الكتاب) الجزء الأول من الكتاب يتحدث عـن السي شارب هل بإمكاني الاستغناء عـن هذا القسم أو الجزء أو الـ Part والانتقال إلى الأجزاء: الثانية والثالثة والرابعـة.

أيضاً وجدت أفكار أكثر من رائعـة في الكتاب بالرغـم من أني لست مبرمجاً للسي شارب لذلك أنصحكم بقراءته لمن لم يقرأه (أتممت إلى الآن الفصل الأول من الكتاب ولم يتعرض فيه للسي شارب)

أنا لا أريد منكم إقامـة حلقة دراسية هـنا حول الـ design patterns بل أريد معرفة الأساسيات فقط وبعـدها سأشق طريقي بنفسي ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

على العموم أنا قرأت الكتاب في عُجالة قبل هذا و هو كتاب جيد و مُختصر

على العموم OO هي Object Oriented أيضاً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

بالتاكيد افضل من كتب عن هذا الموضوع فى المنتدى هو الاخ الحسين حفظه الله ورعاه, جمعت كل ما كتب من دروس فى ملف PDF ووضعته فى قسم الـPHP رغم ان الموضوع ليس مخصص لهذه اللغة...

تجد الملف فى هذه المشاركة http://www.arabteam2000-forum.com/index.php?showtopic=66375

الشرط الوحيد لتحميل الملف هو ان تدعو للاخ الحسين, لانه بالفعل قام بعمل اكثر من رائع لإيضاح مفهوم الـDesign Pattern.

والسلام عليكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً لك أخي أحمد غريب ... و يا بشمهـندس ....

الكتاب الذي لمح إليه بشمهـندس أكثر من رائع في الـ Design Patterns ... ويوضح المطلوب ... أما بالنسبة لكتاب الأخ الحسين وفقه الله وجزاه الله خير الجزاء فجاري تحميله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .