نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

استخرج الواجهات (Extract Interface)

المشكلة يستخدم العديد من العملاء نفس الجزء من واجهة الصنف. حالة أخرى: عندما يوجد نفس الجزء من الواجهة في صنفين. الحل نقل هذا الجزء المتطابق إلى الواجهة الخاصة به. مثال قبل إعادة التصميم استخدام التابعين ()getRate و ()hasSpecialSkill في الصنف Employee بكثرة: يستخدم العديد من العملاء نفس الجزء من واجهة الصنف. بعد إعادة التصميم استخراج هذين التابعين إلى واجهة خاصة بهما تدعى Billable: تقل هذا الجزء المتطابق إلى الواجهة الخاصة به. لم إعادة التصميم؟ تكون الواجهات مناسبة جدًا عندما تلعب ...

CSS/Topics/User Interface

الخاصية الوصف caret-color تُحدِّد ما هو لون مؤشر الإدخال النصي (وهي الإشارة التي تظهر للإشارة إلى موضع الحرف النصي الذي سيدخله المستخدم) ضمن عنصر مثل <input> أو أي عنصر آخر له الخاصية contenteditable. الشكل الافتراضي لمؤشر الإدخال هو خطٌ رأسيٌ يومض لتسهيل ملاحظته، ويكون لونه الافتراضي هو الأسود، لكن يمكن تعديله باستخدام هذه الخاصية. cursor تُحدِّد ما هو شكل مؤشر الفأرة الذي سيُعرَض عندما تمر الفأرة فوق العنصر. outline الخاصية outline في CSS هي خاصية مختصرة تُستخدَم لضبط خاصية أو أكثر من الخاصيات outline-style و outline-width و outline-color في آنٍ واحد. ...

الأصناف البديلة (alternative) ذات الواجهات (interfaces) المختلفة

توصيف المشكلة التطابق بالمهام (function) ما بين صنفين (classes) ولكن بأسماءٍ مختلفةٍ لتوابعهما (methods). أسبابها عدم دراية المبرمج بوجود صنفٍ آخر يكافِئ بمهامّه مهامّ الصنف الحالي الذي ينشِئه. وما الحل؟ حذف أحد الصنفين بعد تنفيذ إحدى الحلول الآتية: إعادة تسمية التوابع (methods) لتصبح متطابقةً بكافّة الأصناف البديلة (alternative) (أي الأصناف المتكافئة بالمهام). توحيد التوقيع (signature) وتعريف الاستخدام ما بين التوابع، وذلك إمّا بنقل التابع (move method) أو إضافة المعاملات (add parameters) أو دمج التوابع عبر المعاملات (parameterize method). إن كان ...

التابع ConfigParser.add_section()‎‎ في بايثون

يضيف التابع قسمًا يحمل الاسم المعطى إلى نسخة الصنف ConfigParser. البنية العامة add_section(section) ‎المعاملات section سلسلة نصية تتضمن اسم القسم المراد إضافته إلى نسخة الصنف ConfigParser. القيمة المعادة إن كان هناك قسم يحمل الاسم ذاته فإنّ التابع يطلق الاستثناء DuplicateSectionError. وإن كان الاسم المعطى مطابقًا لاسم قسم الإعدادات الافتراضية فإنّ التابع يطلق الاستثناء ValueError. يجب أن يكون الاسم المعطى سلسلة نصية وإلّا فإنّ التابع يطلق الاستثناء TypeError. ملاحظة: يطلق التابع الاستثناء TypeError عند استخدام الأسماء غير النصية في الإصدار 3.2 ...

الواجهات في TypeScript

مقدّمة تركيز التحقق من الأنواع (type-checking) على شكل (shape) القيم من مبادئ TypeScript الأساسية. يُصطلَح عليه أحيانًا بالتعبير duck typing أو التحقق من الأنواع الفرعيّة هيكليًّا (structural subtyping). تعمل الواجهات في TypeScript على تسمية هذه الأنواع، وهي طريقة قويّة لتعريف عقود (contracts) داخل شيفرتك أو عقود مع شيفرةٍ خارج مشروعك. واجهة بسيطة لنبدأ بمثال بسيط لنفهم كيفيّة عمل الواجهات: function printLabel(labelledObj: { label: string }) { console.log(labelledObj.label); } let myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); سيتحقّق مدقّق ...

دمج التصريحات في TypeScript

مقدمة تصِف بعض المبادئ الفريدة الموجودة في لغة TypeScript شكل كائنات JavaScript على مستوى الأنواع. مبدأ دمج التصريحات (declaration merging) من المزايا التي تنفرد بها TypeScript. سيُساعد فهم هذا المبدأ على العمل مع شيفرة JavaScript الموجودة مسبقًا. إضافة إلى أنّها توفّر قدرة على إعمال مبادئ تجريد (abstraction concepts) أكثر تقدّمًا. نعني بدمج التصريحات في هذه الصفحة بأنّ المترجم يدمج تصريحين مختلفين لهما نفس الاسم في تعريف واحد. يمتلك هذا التعريف المندمج مزايا التصريحين الأصليّين. يُمكن دمج أي عدد من التصريحات، ...

الواجهة ‎‎Annotation في Kotlin

هي الواجهة الأساسيّة التي يُعرَّف استخدامها (implemented) ضمنيًا في جميع واجهات التوصيفات (annotation interfaces)، وللمزيد من التفاصيل راجع التوصيفات (annotations) في لغة Kotlin. interface Annotation الدوال المورثة (Inherited Functions) equals تتحقق الدالة equals()‎ إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. hashCode تعيد الدالة hashCode()‎ الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. toString تحول الدالة toString()‎ الكائن الذي يُستدعى معه إلى سلسلة نصية (String). الخاصيات الإضافية (Extension Properties) annotationClass تُستخدَم هذه الخاصيّة للحصول على نسخةٍ (instance) من الصنف KClass بحسب نوع التوصيف الحاليّ. ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

الأصناف الواسعة (Large Classes)

توصيف المشكلة احتواء الصنف (class) العديدَ من الحقول (fields) والتوابع (methods) وشيفرةً بأسطرَ كثيرةٍ. أسبابها تبدأ الأصناف صغيرةً ليزداد حجمها مع استمرار تطوُّر البرنامج (كما الحال بالتوابع الطويلة) لأنَّ المبرمج يرى أنَّ إضافة ميِّزاتٍ (features) جديدةٍ في صنفٍ موجودٍ مسبقًا أكثر سهولةً من إنشاء أصنافٍ جديدةٍ مخصَّصةٍ لها. وما الحل؟ الحل بسيطٌ جدًا؛ وهو تقسيم الصنف، وذلك بإحدى الوسائل الآتية: إنشاء صنفٍ جديدٍ (Extract Class) إن كان من الممكن فصلُ بعض مهامّ الصنف الحاليّ ونقلها للصنف الجديد. إنشاء صنفٍ فرعيٍّ ...

التعمق في ملفات التصريحات في TypeScript

التعمق في نظرية ملفّات التعريف (Definition File Theory) هيكلة الوحدات لتحمل نفس شكل الواجهة البرمجية (API) الذي تريده بالضبطِ صعبٌ نوعًا ما. على سبيل المثال، قد نرغب من وحدةٍ قد تُستدعى بالكلمة المفتاحية ‎new‎ أو بدونها أن تنتج أنواعًا مختلفة، مع امتلاك عدّة أنواعٍ مسمّاةٍ موجودة في تسلسلٍ ما، وبعض الخاصيات على كائن الوحدة كذلك. عبر قراءة هذا الدليل، ستحصل على الأدوات اللازمة لكتابة ملفّات تعريفات معقّدة ذات واجهة برمجيّة سهلة الاستخدام. يركّز هذا الدليل على مكتبات الوحدات أو مكتبات ...

JSX في TypeScript

مقدمة JSX بنيةٌ (syntax) مشابهةٌ للغة XML يُمكن تضمينها وتحويلها إلى شيفرة JavaScript صالحة، لكن آلية عملية التحويل تختلف من تطبيق (implementation) إلى آخر. اشتهرت JSX باستخدامها مع مكتبة React، لكنها تملك تطبيقات أخرى غير React. تدعم لغة TypeScript تضمين JSX، وتدقيق الأنواع فيها، وكذا ترجمة JSX إلى JavaScript مباشرةً. ملاحظة حول المصطلحات: نستخدم في هذه الصّفحة كلمة "صِفَة" للإشارة إلى الكلمة الإنجليزيّة "attribute" وكلمة "خاصيّة" للإشارة إلى كلمة "property"، كلاهما يُترجَم إلى كلمة "خاصيّة" ولهما نفس المعنى في معظم ...

ملفات التصريحات اعتمادًا على الأمثلة في TypeScript

مقدمة الهدف من هذا الدليل هو تعليمك كيفيّة كتابة ملف تعريف عالي الجودة. هذا الدليل يريك أولًا توثيق واجهة برمجية (API) معيّنة مع طريقة استعمالها، ثم يشرح كيفية كتابة التصريح الملائم. هذه الأمثلة مرتبة تصاعديا حسب التعقيد، من الأبسط إلى الأعقد: المتغيرات العامة (Global Variables). الدوال العامة (Global Functions). الكائنات ذات الخاصيات. الدوال ذات الأحمال الزائدة (Overloaded Functions). الأنواع القابلة لإعادة الاستخدام (الواجهات). الأنواع القابلة لإعادة الاستخدام (أسماء الأنواع البديلة [Type Aliases]). تنظيم الأنواع. الأصناف. الأمثلة المتغيرات العامة التوثيق: يحتوي ...

الوحدة dbm‎.ndbm في بايثون

تقدّم وحدة dbm.ndbm واجهة برمجية لمكتبة ‎"(n)dbm"‎ في يونكس. تسلك كائنات dbm سلوك كائنات الربط (القواميس) باستثناء أنّ المفاتيح والقيم تخزّن دائمًا كبايتات. لا تؤدي طباعة كائنات dbm إلى طباعة المفاتيح والقيم، ولا تدعم هذه الكائنات التابعين items()‎ و values()‎. يمكن استخدام هذه الوحدة مع واجهة ndbm الكلاسيكية أو مع واجهة GNU GDBM التوافقية. ستحاول شيفرة configure في يونكس أن تحدد موقع ملف الترويسة header file المناسب لتبسيط عملية بناء هذه الوحدة. الاستثناءات الاستثناء dbm.ndbm.error يطلق هذا الاستثناء عند حدوث ...

التابع Connection.commit()‎ في بايثون

يلغي التابع جميع التعديلات التي أجريت على قاعدة البيانات بعد آخر استدعاء للتابع commit()‎. البنية العامة rollback() مصادر صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.

افعل ولا تفعل في TypeScript

الأنواع العامة ‎Number‎، و‎String‎، و‎Boolean‎، و‎Object‎ لا تستعمل أبدًا الأنواع ‎Number‎، و‎String‎، و‎Boolean‎، و‎Object‎. هذه الأنواع تشير إلى الكائنات غير الأوليّة المحاطة (non-primitive boxed objects) التي لا تُستعمَل في أغلب الأحيان بطريقة صحيحة في شيفرة JavaScript: /* خطأ */ function reverse(s: String): String; استعمل بدلًا منها الأنواع ‎number‎، و‎string‎، و‎boolean‎: /* صحيح */ function reverse(s: string): string; استعمل النوع غير الأولي ‎object‎ (الذي أُضِيفَ في TypeScript 2.2) عوضًا عن النوع ‎Object‎. الأنواع المعممة (Generics) لا تُعرِّف أبدًا نوعًا معمّمًا لا يستخدم معامل ...

الدالة cgi.test()‎‎ في بايثون

سكربت اختبار CGI، يمكن استخدامه كبرنامج رئيسي. تكتب الدالة ترويسة HTTP مصغّرة وتنسّق جميع المعلومات المقدّمة إلى السكربت في نموذج HTML. البنية العامة cgi.test() مصادر صفحة Common Gateway Interface support في توثيق بايثون الرسمي.

التابع Connection.interrupt()‎ في بايثون

يمكن استدعاء هذا التابع من خيط آخر لتجاهل أي استعلامات قد تكون قيد التنفيذ عبر الاتصال الحالي. سيتم تجاهل الاستعلام وسيتلقى صاحب الاستعلام استثناءً. البنية العامة interrupt() مصادر صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.

الدالة cgi.print_directory()‎‎ في بايثون

تنسّق الدالة المجلّد الحالي بصيغة HTML. البنية العامة cgi.print_directory() ‎انظر أيضًا الدالة cgi.print_environ()‎: تنسّق الدالة بيئة الصدفة بصيغة HTML. الدالة cgi.print_form()‎: تنسّق الدالة النموذج بصيغة HTML. الدالة cgi.print_environ_usage()‎: تطبع الدالة قائمة من متغيرات البيئة المفيدة (المستخدمة من قبل CGI) بصيغة HTML. مصادر صفحة Common Gateway Interface support في توثيق بايثون الرسمي.

الدالة cgi.print_environ()‎‎ في بايثون

تنسّق الدالة بيئة الصدفة بصيغة HTML. البنية العامة cgi.print_environ() ‎انظر أيضًا الدالة cgi.print_form()‎: تنسّق الدالة النموذج بصيغة HTML. الدالة cgi.print_directory()‎: تنسّق الدالة المجلّد الحالي بصيغة HTML. الدالة cgi.print_environ_usage()‎: تطبع الدالة قائمة من متغيرات البيئة المفيدة (المستخدمة من قبل CGI) بصيغة HTML. مصادر صفحة Common Gateway Interface support في توثيق بايثون الرسمي.

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).