سؤال

ما هو الفرق بين "التجريد" و "واجهة"؟

هل هناك فرق على الإطلاق؟ أم أن المصطلحات قابلة للتبديل؟

هل كانت مفيدة؟

المحلول

ال نمط الواجهة هي واجهة مبسطة لقاعدة رمز أكبر وربما أكثر تعقيدًا. قد تكون قاعدة الكود فئة واحدة ، أو أكثر. الواجهة فقط تمنحك واجهة بسيطة لها.

التجريد, يستخدم لتمثيل مفهوم ، ولكن لا يجب أن تكون ملزمة بأي مثيل محدد. (أي: فئة مجردة). هذا لا يعني التبسيط (مثل نمط الواجهة) ، بل هو وضع واجهة أو تمثيل "مشترك".

نصائح أخرى

مظهر زائف هو نمط تصميم محدد ، يهدف إلى إخفاء الأشياء الداخلية داخل الحزمة / الوحدة النمطية من عملائها خلف واجهة محددة جيدًا. عادة ما يخفي عدة واجهات/فئات خلف واحدة شائعة واحدة ، وبالتالي اسمها.

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

لذلك هذان ليسا مصطلحات قابلة للتبديل.

الواجهة هي نمط تصميم GOF ، محدد للغاية. في Essense ، يتعلق الأمر باختباء وظائف الإفراط في التعقيد من الجسم الرئيسي لتطبيقك.

التجريد هو مصطلح أكثر غموضًا يتعلق بوظائف إخفاء الخدمة من عميلها.

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top