واجهة - ما هي الكلمات البسيطة

واجهة - ما هو ما تحتاجه، وأنواع الواجهات

4 يناير 2021.

مرحبا، عزيزي القراء بلوق Ktonanovenkogo.ru. في عصر الكمبيوتر الجماعي، من المهم مراعاة أحدث الاتجاهات وتجديد الفجوة باستمرار في المعرفة.

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

أنت لا تريد أن تأتي عبر الحاجة إلى تحطم الطائرة؟ اليوم نحن نعتبر مصطلح آخر مرتبط بجهاز الكمبيوتر.

سأحاول شرح مثل هذا الشيء كواجهة: ما هو ولماذا ضروري. لذلك، دعونا نبدأ.

الواجهة ...

مثل جميع العبارات الجديدة، جاءت كلمة "واجهة" كلمة "واجهة" من اللغة الإنجليزية. واجهة مترجمة تشير " مكان الاتصال "

الواجهة هي مجموعة من الأدوات التي تسمح للمستخدم بالتفاعل مع نظام التشغيل الكمبيوتر أو جهاز محمول أو أنواع أخرى من المعدات.

الواجهة ...

مثل هذه الأدوات التفاعلات يمكن أن تتصرف:

  1. حقول النص
  2. الأزرار والقراد؛
  3. القوائم المنسدلة؛
  4. نصائح منبثقة؛
  5. مفاتيح
  6. عناصر قائمة البرنامج أو الموقع؛
  7. وأكثر بكثير.

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

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

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

تتيح لك الواجهة الودية أيضا رفع المبيعات في المواقع التجارية، حيث لا يغلق الزوار علامة التبويب خلال الثواني الأولى من استخدام الموقع.

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

أنواع الواجهات

الواجهة معتادا على التقسيم الفرعي على الأنواع التالية:

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

    التحويل مع الجهاز يحدث في لغته. يستخدم سطر الأوامر في أنظمة التشغيل المخصصة للمستخدمين المحترفين: على سبيل المثال، في BIOS.

  2. واجهة الرسم وبعد هذا هو بالضبط ما هو المقصود اليوم تحت كلمة "واجهة". يتم تطبيقه في جميع أنظمة التشغيل والبرامج وصفحات الويب.
    هاتف ذكي

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

  3. علامة واجهة وبعد أصبح التطور السريع للتكنولوجيات أحد أسباب ظهور واجهة الإيماءات. وهذا يشمل الشاشات الحسية وعصير المقود والقليم والعناصر الأخرى.
  4. واجهة الصوت وبعد تحدث عبارة "موافق و Google" ونطق لاحقا استعلام البحث، تتفاعل مع الواجهة الصوتية لنظام التشغيل الذكي أو الجهاز اللوحي.
    واجهة خط الأوامر

    ظهر هذا النوع أيضا في الآونة الأخيرة بفضل التطور السريع للتكنولوجيات.

    ولكن اليوم يتمتع بشعبية كبيرة، حيث يسمح لك بحل عدد من المهام المهمة وإدارة الأجهزة (ما هو؟) - الأجهزة المحمولة والسيارات والأجهزة المنزلية وأجهزة الكمبيوتر - مع أوامر صوتية.

ما يجب أن يكون الواجهة

المهمة الرئيسية لأي واجهة - استخدام بسهولة برنامج معين أو موقع أو منتج مماثل.

على سبيل المثال، عند تطوير بوابة الويب ينصح بذلك التركيز على العناصر التالية :

  1. العدد الأمثل للعناصر المعروضة؛
  2. القدرة على التكيف مع أجهزة سطح المكتب والأجهزة المحمولة؛
  3. وجود أزرار الشبكات الاجتماعية الشعبية؛
  4. أيقونات وأزرار الحجم الأمثل؛
  5. شكل مناسب من التسجيل؛
  6. موقع بديهي عناصر القائمة؛
  7. وجود لهجات اللون أو المعلومات؛
  8. نظام البحث على الموقع؛
  9. إذا لزم الأمر، توافر بيانات الاتصال.

مثال مشرق على واجهة مدروسة جيدا هو ktonanovenkogo.ru. على الموقع، حل لون جيد، قائمة بديهية، وجود بحث داخلي، وعرض مقالات بحلول تاريخ النشر، مما يجعل استخدام الموارد سريعة وممتعة.

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

آمل أن يتم بعد قراءة المقالة، لن يكون لديك أي أسئلة. في أي حال، تتيح لك أن تدعوك لتعليقات تهدئة على هذا الموضوع مع قراء المدونات الأخرى Ktonanovenkogo.ru.

ودمج المعرفة، أقترح مشاهدة فيديو حول الواجهة الجديدة لنظام Android من Samsung:

كل التوفيق لك! رؤية اجتماعات سريعة على صفحات ktonanovenkogo.ru

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

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

لكن اللحظة جاءت عندما أصبح المستخدمون الجدد أقل. لقد تم بالفعل إتقان أي شخص يريد البدء في استخدام جهاز كمبيوتر والإنترنت في التكنولوجيا. والحاجة إلى واجهات واقعية اختفت تدريجيا.

الآن، بدلا من أيقونة "القائمة" المفصلة، ​​يتم استخدام برغر ما يسمى عادة مع التوقيع - ثلاث شرائط أفقية. ونحن نعرف جيدا ما يعنيه. نحن نعلم أيضا أن المواقع عادة ما تقرأ من أعلى إلى أسفل. ولا تحتاج إلى أي أسهم لشرح. تم تصميم الواجهات الحديثة للمستخدمين ذوي الخبرة والموجز أكثر.

برامج

يمكن اعتبار الواجهة نوعا من العقد بين النظام وبيئة خارجية. كجزء من برنامج الكمبيوتر، النظام هو الوظيفة أو الوحدة النمطية، و "البيئة" هي بقية المشروع. وصف الواجهة رسميا ما يمكن نقل البيانات بين النظام والبيئة. ويمكن وصف "التنفيذ" بأنه "نظام واجهة ناقص". بلغات مثل واجهات Haskell يمكن أن تكون محددة للغاية. وفي لغات مثل بيثون، على العكس من ذلك، عادي للغاية. قد يؤثر نوع الواجهة المحدد على حجم الديون الفنية التي تم إنشاؤها وأداء المبرمج. كيفية حسابه مكتوب أدناه. سيتم أيضا اقترح طريقة لتقييم وتدارين واجهات مختلفة. بناء على هذه المقارنات، يمكنك مشاهدة نفسها لاستخدام لغة اللغة أو البرامج.

أهم مفهوم في تطوير البرمجيات - مفهوم

واجهه المستخدم

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

ما هي الواجهة؟

معظمنا على دراية بتفكيك موجز:

الواجهة هي عقد بين النظام وبيئة خارجية. الواجهة هي نظام الاقتران مع بيئة خارجية.

واجهة = نظام ∩ محيط

التعريف مع الاقتران مناسب، إذا كان النظام كائن مادي. كلا التعريفين مجردة للغاية، لذلك دعونا نعتبرهم في مثال الطباعة على لوحة المفاتيح:

هنا النظام هو كمبيوتر محمول، البيئة - الأيدي (وكذلك الكفوف من القط، التسلق على لوحة المفاتيح). وبالتالي، يجب أن تكون الواجهة أي جزء من التفاعل بين الأيدي وأجهزة الكمبيوتر المحمول، والتي لا يمكن أن تعزى فقط إلى بعض الأطراف، ولكن فقط لكليهما. عادة ما نفكر في اليدين ولوحة المفاتيح منفصلة، ​​بحيث تكون الحدود الدقيقة للواجهة في هذه الحالة موضوع النزاع الفلسفي. أنت تقرر: ما إذا كانت لوحة المفاتيح كذرات كاملة أو فردية تتفاعل مع بعضها البعض عند اتصال الأصابع والمفاتيح.

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

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

:

add_numbers. 

INT INT، INT INT، UNTIGNED INT)؛ VOIT Nother_Function (Void) {add_numbers (3.4)؛} Unsigned INT ADD_NUMBERS (INT INT A، UNTISE INT B) {الرجوع A + B؛} Int Main (الفراغ) {add_numbers (9.99)؛ العودة 0؛}

تطبيق نفس تقنية التمايز اللون

بنطال

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

لوصف البيئة، أنظمة

واجهة:

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

النظام قيد النظر هنا يتكون من وظيفة

وبعد إذا قلت أنه يمكنك التفكير كطريقة رئيسية لنظام منفصلة -

other_function.

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

- ثم سوف تكون على حق. ولكن بالنسبة للبساطة، نعتبر وظيفة

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

.

نظام معزول. ومن المستحسن أيضا النظر في جزء من واجهة التحويل إلى

كما ترون، تتم إضافة المفهوم الرابع هنا: "التنفيذ". من الصعب جدا مناقشة موضوع الواجهات دون مراعاة تطبيقات محددة. دعنا نحدد هذا المصطلح: التنفيذ هو نظام واجهة ناقص. التنفيذ = نظام ∖ واجهة

التنفيذ = النظام ∖ (النظام ∩ البيئة)

يجب أن أعترف بأنني لم يكن لدي مثل هذا التعريف من قبل. ولكن هذا تمديد لا مفر منه لمجموعة من تعريفات الواجهة التي لها عدد من المزايا. إذا كنت طالبا سيئا واستعد للامتحان، فربما لم يسمع معلمك أبدا بهذا التعريف. لن أتفاجأ إذا كان يتعارض مع أي تصنيف للبرمجة الموجهة للكائنات. ولكن حتى في هذه الحالة، لن أغيره. دع مراوح OOP أعد كتابة ملخصاتهم وفقا لتعريفي.

بدوره، بدوره يقودنا إلى الاستنتاج المنطقي التالي: عندما نتحدث عن واجهات النظام المادي، نتخيل عادة "تنفيذ" هذا النظام في شكل كائن فعلي واحد. بعد كل شيء، سيكون من الغريب النظر في التنفيذ "الحقيقي" دون أخذ أزرار الحساب أو يعرض أو مكونات أخرى. ويدفعنا إلى النظر في الواجهة أكثر ك "اتفاقية"، وليس مزيجا من الأشياء المادية. وهذا هو، في شكل مجموعة من الوعود، الضمانات أو شيء مثل ...

.

عقد بين النظام والبيئة

واجهة كما عقد

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

إذا كنت تفكر في واجهة الوظيفة

  • في شكل عقد، ثم الضمانات ستكون: كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة وظيفة
  • كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة موجود. لديها اثنين فقط من المعلمات، كل منها غير موقعة .
  • كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة int. لديها اثنين فقط من المعلمات، كل منها غير موقعة .

إرجاع واحد فقط غير موقعة

  • واجهة هذه الوظيفة لا تخبرنا بأي شيء: كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة ;
  • على انقطاع الإعدام كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة ;
  • حول التعقيد مقارب في وقت الفترة كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة ;
  • على عدد الذاكرة الحرة المطلوبة للبدء لديها اثنين فقط من المعلمات، كل منها غير موقعة ;
  • حول التنفيذ المحدد لعملية غير موقعة

على الآثار الجانبية (تخصيص الذاكرة، تعديل المتغيرات العالمية).

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

الواجهة المذكورة أعلاه

معروف تحت نوع الوظيفة

النموذج المبدئي.

وبعد في الإصدارات السابقة من K & R C، تم استخدام شكل أضعف وصف الوصف للواجهات:

غير موقعة INT_NUMBERS ()؛

تعريف الواجهة كعقد مناسب للغاية للبرمجة. بعد كل شيء، تتكون معظم مهام المبرمج في تحديد ومتطلبات مجموعات من البديهيات. الظروف الأولية والنهائية تقدم بعض الخصائص أو السلوك. قبل ربط حزبين علاقة تجارية مع بعضهم البعض، فإنها تستعد العقد. صاغ النتيجة النهائية ومقدار الدفع والجدول الزمني. كما ينص على شروط الإنهاء المبكر والتكاليف. إذا انتهك العقد، فإن الوضع يحول المحكمة أو التحكيم. ولكن إذا نسيت شيئا ما لتحديده في العقد، فقد تنشأ مفاجآت.

مع برامج الكمبيوتر كل نفس. يقول الوحدات والوظائف إنهم يحتاجون إلى (وأحيانا) ما سيتم تقديمه في المقابل. سيؤدي انتهاك هذا العقد إلى خطأ في الترجمة، لخطأ التنفيذ، وفشل التطبيق، والنظام، وأدوات مراقبة الجودة وقيادة الدليل. أود أن أقول حتى أن تعريف الواجهة كعقد ليس مجازي. فيما يلي نفس المبادئ كما هو الحال في العقد التجاري، على الرغم من أنها ليست مفصلة للغاية.

براءات الاختراع وحقوق الطبع والنشر والواجهات

لن أعطيك المشورة في مجال القانون. ربما قال شيئا مني إنه سوف يتعارض مع القوانين. كل ما يلي هو الرأي الخاص للمؤلف.

لذلك، أنا أميل

حرفيا

النظر في الواجهة باعتبارها "عقد تجاري" بين كيانين. أؤكد - أنا لا أعتبر ذلك استعارة. أتناول بشكل خاص هذا التفسير من قبل المتخصصين في نظرية آلات الحوسبة ومتظاهرين حقوق النشر.

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

يجب أن أحمي الواجهة حسب حقوق الطبع والنشر؟ مرة أخرى، بالنظر إلى الطبيعة "التعاقدية"، أعتقد أن "التعليمات البرمجية المصدرية" للواجهة يجب أن تكون كائن حقوق الطبع والنشر. في الوقت نفسه، لا ينبغي تطبيق حقوق الطبع والنشر على جوانب الواجهات التي تجعلها خاصة. يكفي حماية شفرة المصدر أو صورة مكتوبة بخط اليد، ولكن ليس الضمان أو القيود. إذا أصبحت القيود المفروضة على الضمان أو الواجهة لا ينفصل عن أي من أجزاء التعليمات البرمجية، فيجب حرم هذه الأجزاء من حق الحماية.

أقترح اختبارا بسيطا يتيح لك تقدير ما إذا كان من الضروري حماية حقوق الطبع والنشر.

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

أعتقد أنه بمساعدة هذا الاختبار، من المستحسن التحقق حتى في قابلية البراءات. يرجى ملاحظة: الغرض من الاختبار هو تحديد نطاق واسع

خان

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

إتبع

تحويل الحماية. بالإضافة إلى ذلك، هذا الاختبار هو فقط رأيي، وليس قانون أو قانون تنظيمي.

أريد أيضا أن أشير إلى أن أي معيار يعتبر كجزء من الواجهة في نفس اللغة قد لا يكون ذلك بلغة أخرى. على سبيل المثال، في Java، لا يؤثر الإجراء الخاص بالإعلان على الوظائف على إعدام البرنامج. وإذا قلت بطريق الخطأ أن ترتيب الوظائف في الملف لا يهم، فسيكون ذلك خطأ فيما يتعلق بالبرنامج الخاص ب Python: 

Def Foo (): Print ("ASDF") Def Foo (ABC): طباعة (ABC) FOO ("LOL")

كل هذه المحادثات حول القوانين ذكرني

أوراكل ضد جوجل

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

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

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

أعتقد أن المحكمة قد قبلت القرار الصحيح، واختت أن الخصائص الفريدة للواجهة لا ينبغي حمايتها. بالإضافة إلى ذلك، تعترف Google بالنسخ "الحرفي". إذا كان هذا يعني copypasting، بما في ذلك جميع الفجوات والأخطاء الإملائية في التعليقات، فأنا أعتبرها انتهاكا للحقوق. حتى لو كانت الواجهة غير محمية، فلا ينبغي أن تتداخل مع حماية التعبير الإبداعي الفردي.

أعرف عن هذا التقاضي فقط من مصادر الشبكة المفتوحة فقط، ولكن على ما يبدو، تم نسخ رمز Java الأصلي بالكامل إلى Google، بما في ذلك الواجهات. يبدو أنهم يعتقدون أنهم يعتقدون أنه من الضروري ترخيص استخدامهم لجافا، حيث كان موضوع مفاوضات بشأن اتفاقيات الترخيص مع الشمس قبل عام 2010. لكن هذه الاتفاقات فشلت بعد أن تم شراؤ الشمس من قبل أوراكل. ومع ذلك، واصلت Google استخدام نسخ "حرفية" من التعليمات البرمجية، والتي لم تذهب بوضوح إلى فائدةها في المحاكمة. أظن أن محاموهم كانوا يعرفون ضعف موقفهم، لذلك اختاروا استراتيجية الحماية بناء على الطلب المشروع على عدم انتشار حقوق النشر إلى واجهات. كانوا يأملون في الفوز بالقضية على حساب تمثيل الواجهة في شكل شفرة المصدر وجمعها بمفهوم أكثر فلسفية.

ما هو "الوحدة"، أو "التجريد"؟

مع كلمة "الوحدة" في رأسي، هناك صورة رأس مال لهذا المنصب. يوضح هذا التوضيح جيدا أهمية حدود الوحدة والتفاعل مع البيئة. تحد واجهة المكعب بقوة تفاعل البيئة الخارجية بمحتويات المكعب. لن تكون قادرا على تجاوز الواجهة، لذلك عليك أن تبقي "قواعد اللعبة" التي يفرض عليها. أخيرا، لا يوجد شيء داخل المكعب، لكنه لا يهم: من المهم عدم محتوياته، ولكن واجهة.

مثال آخر: هيكل غشاء الخلية. توفر مكونات مختلفة فقط المواد اللازمة من خلال الغشاء وفقط عندما يكون ذلك ضروريا.

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

يمكنك قراءة وظيفة منفصلة للوحدة في C، "الوحدة النمطية" - في Python أو Class أو Package - في Java. شيء ما، إذا كان لديه واجهة خارجية فقط وتنفيذ "مخفي". علاوة على ذلك، قد يكون هناك نتيجة لقواعد اللغة أو حتى قرار مبرمج.

تجفيف التجريد

بقدر ما أعرف، الفكرة

طرحت التجريدات Dumpy إلى الأمام جويل spolski

وبعد في مقاله هناك بعض الأمثلة الجيدة، ولكن أود أن أحضر بلدي. في البرمجة، غالبا ما تصادف مفهوم "الخرائط": تمثيل بنية البيانات تتكون من أزواج من المفاتيح والقيم. حد مهم: تضمن البطاقة أن تكون جميع المفاتيح فريدة من نوعها. ستؤدي محاولة لتسجيل قيمة جديدة للمفتاح الحالي إلى خطأ أو الكتابة فوق القيمة السابقة. خلاصة القول هي أن المفاتيح لا ينبغي تكرارها. في معظم الأحيان، يتطلب المبرمجون الرغبة في فرز كل هذه المفاتيح. وبما أن الخرائط لا يمكن أن تضمن ترتيب معين من مفاتيح الفرز، فمن الضروري أحيانا أن يتساءل بأي ترتيب سيكون بعد خرق؟ هذه هي نتيجة حقيقة أن واجهة البطاقة لا تسمح بضمانات الفرز. وعلى الرغم من أنه يعتقد أنه لا يهم، ولكن في الممارسة العملية، ما زلت أريد الترتيب. لذلك فمن الضروري لمؤسسة بيانات أكثر كفاءة، على سبيل المثال، لتسهيل التحقق من المفاتيح الحالية.

يمكن أن تعطي القوة الغاشمة للبيانات نتيجة مختلفة تماما مقارنة ببيانات عشوائية ساحقة. افترض أنك بحاجة إلى العثور على القيمة الدنيا في القائمة: 

Min = NULL؛ قائمة = map.getmapkeys ()؛ ل (item in list) {if (min == null) {min = item} آخر إذا (item <min) {min = min؛ / * هذا الخط لديه خطأ * /}}

فرع

آخر إذا.

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

أريد أن أقدم تعريفي لتسرب التجريد.

تسمى تسرب التجريد (تسرب مجردة) الوضع عند تنفيذ التنفيذ يؤثر على البيئة لأنه لم ينص على الواجهة.

وفقا لهذا التعريف،

تقريبا كل

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

.

نظرية فول حول غير مكتملة

فكرة ثقوب معظم التجريدات ليست غير معقولة. هذا يعني جويل سبوليسكي في "قانون الملخصات المتسربة":

"كل التجريدات غير التافهة هي هذة إلى حد ما."

مرة واحدة كل التجريد يميل، ماذا نتحدث عنه؟ تنشأ مشاكل فقط عندما تبدأ جزء من البيئة في الاعتماد على واحدة من الطرق غير المتوقعة للتعرض للنظام. الأمر يتعلق بمثل هذه التسريبات يقول الجميع.

هذا يؤدي إلى عواقب بعيدة المدى، ليس فقط من وجهة نظر الأخطاء العادية، ولكن أيضا في مجال الأمن. مع الأنظمة الفيزيائية التي يوجد فيها تسرب في البيئة الخارجية، المساومة الأمنية، والمصطلح "

هجوم القناة الجانبية

" بالاشتراك مع بيان أن جميع تجريدات الثقوب، فإنها تؤدي إلى الاستنتاج:

كل التنفيذ المادي لنظام التشفير معرض لهجمات الطرف الثالث.

بالنظر إلى كل ما سبق، يمكن تمديد هذه الفكرة ليس فقط للجسدي، ولكن أيضا على التطبيقات المحاكمة.

تقييم ومقارنة بين الواجهات

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

DEF ADD_NUMBERS (A، B): إرجاع A + BPRINT (ADD_NUMBERS (3،1)) طباعة (Add_Numbers ("ABC"، "DEF"))

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

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

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

ونقدر مقدار المعلومات التي يمكننا نقلها عبر الواجهة وتجاوزها، بمساعدة تسرب التجريد. عبر الواجهة
عن طريق الذهاب حول الواجهة وصف الخصائص عن طريق الذهاب حول الواجهة وصف الخصائص
عدد الدول المحتملة نوع المعلمة 1. 1 (int غير الموقعة) حالة المتغير العالمي
(عدد المتغيرات العالمية) * (عدد حالات المتغيرات العالمية) نوع المعلمة 1. نوع المعلمة 2. نظام الملفات
عدد حالة النظام الدولة نوع المعلمة 1. نوع القيمة المرتجعة استخدام المعالج الوقت
ليس محدودا قيمة المعلمة 1. 2 ^ (العد في int غير موقعة) ولاية كوتشي.
عدد الدول قيمة المعلمة 1. قيمة المعلمة 2. الكثير آخرون ...
... قيمة المعلمة 1.

قيمة الإرجاع

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

وهناك عدد من الأشياء التي يمكن أن تتواصل معها

عبر واجهة بيثون. نقل المعلومات عبر واجهة Python
عن طريق الذهاب حول الواجهة وصف الخصائص عن طريق الذهاب حول الواجهة وصف الخصائص
عدد الدول المحتملة نقل المعلومات تجاوز واجهة بيثون 1 (int غير الموقعة) نظام الملفات
(عدد المتغيرات العالمية) * (عدد حالات المتغيرات العالمية) نقل المعلومات تجاوز واجهة بيثون نوع المعلمة 2. استخدام المعالج الوقت
عدد حالة النظام الدولة نقل المعلومات تجاوز واجهة بيثون نوع القيمة المرتجعة ولاية كوتشي.
ليس محدودا نقل المعلومات تجاوز واجهة بيثون 2 ^ (العد في int غير موقعة) الكثير آخرون ...
عدد الدول نقل المعلومات تجاوز واجهة بيثون قيمة المعلمة 2. حالة المتغير العالمي
... نقل المعلومات تجاوز واجهة بيثون

لانهائي عمليا

والآن نلقي نظرة على عدد أنواع الواجهة التي يمكننا وصفها في Haskell: 

Add_Numbers :: Int> Int -> IntadD_Numbers 3 4 = 7main = Print (Add_Numbers 3 4)

كل هذه المنطق الفلسفي الغريب، ولكن كيف يرتبطون برمجيات الكتابة؟ حسنا، دعنا نبدأ بحقيقة أن الواجهات الموجودة في البرمجة تحيط بك من جميع الجوانب، حتى لو كنت لا تولي اهتماما بذلك. على سبيل المثال، إذا كنت برمجة على Java، فقم بتصريخ الواجهات اعتمادا على غرضها. وبغات أخرى، فهي موجودة أيضا. دعونا نفكر في مثال على وظيفة واجهة

إعطاء هذا الرمز، واجهة

يمكن الحصول على المعلومات التالية: نقل المعلومات عبر واجهة Haskell
عن طريق الذهاب حول الواجهة وصف الخصائص عن طريق الذهاب حول الواجهة وصف الخصائص
عدد الدول المحتملة نقل المعلومات عن طريق واجهة Haskell نوع القيمة المرتجعة استخدام المعالج الوقت
(عدد المتغيرات العالمية) * (عدد حالات المتغيرات العالمية) نقل المعلومات عن طريق واجهة Haskell 1 (كثافة) استخدام المعالج الوقت
عدد حالة النظام الدولة نقل المعلومات عن طريق واجهة Haskell تأثير على المعالج / ذاكرة التخزين المؤقت الذاكرة الكثير آخرون ...
ليس محدودا آخر ...
عدد الدول 1 (القيمة 3)
... 1 (القيمة 4)

ما لا يقل عن 2 ^ 30 [1]

  • للحصول على واجهة محددة في لغتك المختارة، يمكنك أيضا تقييم عدد الطرق الفريدة لنقل المعلومات:
  • من خلال الواجهة؛

من خلال الذهاب حول الواجهة من خلال تسرب التجريد.

  • يمكنك أيضا الانتباه إلى ما يلي:
  • كم عدد القيود التي يمكنك استخدامها داخل هذه اللغة من وجهة نظر الحد الأدنى والحد الأقصى لعدد المعلومات المرسلة عبر الواجهة؛

ما هي الأدوات التي توفر هذه اللغة لمنع التفاعل إلى تجاوز الواجهة.

برامج
دعونا نحلل بهذه الطريقة واجهة المستخدم الرسومية التي من الممكن تغيير المجلدات: نقل المعلومات عبر واجهة المستخدم الرسومية
عن طريق الذهاب حول الواجهة وصف الخصائص عن طريق الذهاب حول الواجهة وصف الخصائص
نقل المعلومات تجاوز واجهة المستخدم الرسومية انقر فوق المجلد 1 عدد بكسل على الشاشة التي يحتفظ بها المجلد 1 * عدد النقرات استخدام المعالج الوقت
الاحتمالات الخفية ui. انقر فوق المجلد 2 عدد البكسل على الشاشة التي يحتفظ بها المجلد 2 * عدد النقرات مجموعات المكالمات السريعة غير القياسية
عدد البكسل على الشاشة المحتلة بواسطة زر 2 مؤشر التوجيه إلى المجلد 1 عدد بكسل على الشاشة التي يحتفظ بها المجلد 1 الكثير آخرون ...
قدرات واجهة المستخدم الأخرى غير المتوقعة مؤشر التوجيه إلى المجلد 2
عدد بكسل على الشاشة التي يحتفظ بها المجلد 2 الوقت بين الإرشادات وانقر
بلا حدود أحداث لوحة المفاتيح القياسية
عدد مجموعات المفاتيح القياسية منطقة الشاشة المحتلة من قبل واجهة المستخدم الرسومية

عدد البكسل المستخدمة لعرض واجهة المستخدم الرسومية

والآن تنظر في نفس مهمة تغيير المجلد باستخدام سطر الأوامر و

:

دعونا نحلل بهذه الطريقة واجهة المستخدم الرسومية التي من الممكن تغيير المجلدات: نقل المعلومات عبر واجهة المستخدم الرسومية
عن طريق الذهاب حول الواجهة وصف الخصائص عن طريق الذهاب حول الواجهة وصف الخصائص
CD. استخدام المعالج الوقت عدد أسماء المجلدات التي يمكنك الاتصال بها استخدام المعالج الوقت

بيئة متغيرة

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

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

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

عند التفاعل، تجاوز الواجهة، من خلال تسرب التجريد، فإن ظهور مفاجآت غير سارة على الأرجح للغاية.

التجفيف واجهات محدودة

سأصف العديد من الملاحظات بناء على التحليل من القسم السابق. ولكن أولا سأقدم بضع تعريفات:

الواجهة المتسربة (الواجهة المتسربة) هي واجهة يتم تجاهلها أثناء أي تفاعلات بين النظام والبيئة.

واجهة محدودة (واجهة محددة) هي واجهة مع عدد قليل نسبيا من المدخلات والمخرجات المحتملة.

مثال جيد على واجهة محدودة -

وظائف محددة بالقطعة

محددة فقط لعدد صغير من بيانات الإدخال.

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

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

الارتباط التالي الذي أريد تقديمه مستمد من تجربتي. على الحافة اليسرى من مقياس "الخطأ" أقل شيوعا، وعادة ما تنشأ بسبب الفشل

تصديق

.

وبعد يحدث الحافة اليمنى من نطاق الخطأ في كثير من الأحيان، وغالبا ما يكون السبب في الفشل عند

تحقق

التعقيد مقارب للدين التقني

سأبدأ بالبيان:

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

في البداية، يحتوي المشروع على وحدات واحدة أو وحدتين، ودراسة اتفاقية واجهة جيدة، ستحتاج إلى أداء مقدار العمل على (1). إذا كانت واجهةك سيئة، فستكون حجم الديون الفنية تساوي (1)، لذلك لن تضطر إلى إنفاق الكثير من الوقت في إحضار عقد الواجهة. ولكن مع زيادة خطية في كمية الوحدات النمطية، يمكن أن يحقق حجم السندات بين الدم الزاوية O (n ^ 2). لذلك، مع واجهة سيئة، إذا تتفاعل كل وحدة مع جميع الوحدات النمطية الأخرى، فإن عدد الطعون إلى الواجهة في أسوأ الحالات سيكون يتناسب مع n ^ 2.

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

عادة ما يكون مستوى التفاعل بين الدم المشتردي يزرع أبطأ من O (n ^ 2)، لكنه بالتأكيد أسرع من حوالي (ن). هناك أيضا عامل واحد يتحول إلى بداية النمو السريع في المستقبل: هذه هي الذاكرة البشرية. حتى عندما يكون هناك 20 وحدة في مشروعك، ربما تتذكر أنه يجعل كل منهم. لذلك، من جميع العقود التي تحتاجها فقط الأسماء الضبابية للوظائف والاتفاقات الباطنية. ولكن بمجرد أن يصبح المشروع كبيرا جدا، يتم نسيان العديد من التفاصيل، أو عندما يأتي أشخاص جدد إلى المشروع - ويبدأ النمو القوي لتكاليف العمالة.

  • لماذا لا تزال تستخدم سطر الأوامر؟
  • ستتلقى إجابات مختلفة من أشخاص إلى هذا السؤال، لا يبدو لي أي منها أهم شيء:
  • سطر الأوامر مرن ويعطي العديد من الفرص.

يستهلك موارد أقل.

هذا يسمح لك بفهم أفضل كيف يعمل كل شيء.

الشيء الأكثر أهمية هو السبب في أننا لا نزال نستخدم سطر الأوامر، هو

أتمتة!

من غير الممكن المبالغة في تقدير فوائد استخدام العمليات الآلية. إذا كنت بحاجة إلى تشغيل كتلة إلى 100 خوادم، فلن أقوم بالاتصال بكل منهم بتثبيت البرامج بشكل فردي ويدوي يدويا، والنقر فوق كومة من الأزرار في Gui لا حصر لها. حتى إذا كنت بحاجة إلى أتمتة عملية الكليوان في واجهة المستخدم الرسومية، فستحتاج إلى ملف آخر سيتم فيه حفظ المعلومات في المكان وكيفية النقر فوق. شيء مثل ملف مرن ... فرق.

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

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

شيئا ما

خاص لكل بكسل. لذلك، تصبح الضوضاء التي تنتقل باليد تتحرك المؤشر معلومات مهمة في المنتج النهائي.

اختيار اللغة الصحيحة

بعد القسم حول التعقيد المقارب للديون الفنية، قد تعتقد أن أي مشروع بحاجة إلى مكتوب بلغة مع ظروف صارمة للغاية لعقود الواجهة، مثل Haskell أو Java. ولكن هذا ليس بالضبط ما أردت أن نقله. يمكن أن تساعدك الإجابة على السؤال التالي في اتخاذ الاختيار الصحيح.

ما مدى احتمال تغيير متطلبات مشروعك؟

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

إذا أجبت "على الأرجح"، فاستخدم لغة تتيح لك أن تخسر وقتا أقل عند تحديد عقود الواجهة: بالتأكيد سيعملون ضدك في حالة التغييرات في المتطلبات. لكن المهمة الرئيسية هنا هي عدم الحصول على التطبيق المثالي للمتطلبات، ولكن المتطلبات المثالية التي تسمح لك

لتبدأ

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

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

في وقت ما تم كسر عدد قليل من النسخ حول ما بدأ Twitter في إنشاء على روبي على القضبان، ثم كان السبب في تحجيم المشروع. ترجمت تويتر في وقت لاحق إلى سكالا. يمكن لأي شخص أن يفترض أن المطورين ارتكبوا خطأ ويجبهم على الفور اختيار Scala. أنا لا أعتقد ذلك. يكمن في قلب Twitter فكرة بسيطة للغاية، وفي ظروف عدد كبير من المنافسين الذين يحتاجون إلى الفوز بالموقع المهيمن في السوق. كانوا بحاجة إلى النمو في أسرع وقت ممكن، على الرغم من النفقات. يجب أن تنتقل دورات التطوير من الميزات الجديدة في أسرع وقت ممكن، حيث يسمح لها في أقصر وقت ممكن لفهم ما يحتاج بالضبط إلى المستخدمين، ما المنتج الذي يريدون نتيجة لذلك. صعوبات التحجيم هي علامة على عدم الفشل، ولكن النجاح. تم صياغة رؤية تويتر كمنتج نهائي، وظل فقط لتحقيق ذلك. من وجهة نظر المطورين، إنه مجرد نيرفانا، كل شخص يحلم بهذه الأشياء، لكن قليل من الناس يديرون العمل في مثل هذه الشروط: "هبط هذا القرف من الصفر على لغتك المفضلة، كما هو مناسب لك، إن وجد في المستقبل كان من الأسهل العمل معه ". من الأسهل بكثير إعادة كتابة شيء من الصفر، وجود تنفيذ أضعف أمام أعيننا أكثر من محاولة إضافة مظهر المنتج، والذي سيسمح للشركة بالإقلاع. لسوء الحظ، فإن غالبية المشاركين في السوق لا يذهبون فقط من خلال تجنب تكاليف "غير الضرورية" لإنشاء من الصفر وقضاء الكثير من القوة والوقت على التحجيم أنه كان من المستحيل في الأصل تقدير.

لماذا بايثون شعبية جدا؟

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

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

Python تحظى بشعبية كبيرة في المجتمع العلمي وفيما من تجربة عشاق التحليل العددي. يتطلب جوهر التجربة ذاتيا تحسنا مستمرا في المنتج الذي تم إنشاؤه، ويتباطأ واجهات صارمة.

لماذا عادة ما يكتب برنامج الشركات عادة على Java / C ++؟

في القسم حول الثقوب واجهات صارمة، تحدثت عن الحلول الوسط المرتبطة بأنواع مختلفة من الواجهات. تعد Java و C ++ أكثر من الجزء الصارم من الطيف، على عكس بيثون أو روبي. نعم، قد يكون التسريبات تسربات، وهناك لغات أكثر صرامة (نفس Haskell)، ولكن جافا و C ++ أكثر توازنا من وجهة نظر قابلية التوسع والود والود. بالإضافة إلى ذلك، تتيح لك هاتان اللغتان أن تكون مرنا للتحكم في أستذارات واجهات اعتمادا على اتفاقيات المشروع. على سبيل المثال، إجراء متغيرات أو وظائف مع خاصة أو عامة أو محمية.

كيفية قطع الزوايا

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

مبيعات

وانتقل إلى ب.

  • جيد جدا
  • واجهه المستخدم. حتى إذا لم يكن التنفيذ جيدا ومشكلاتها تتدفق إلى أجزاء أخرى من النظام، فهذه مشكلة واجهة سيئة! بحيث لا يوجد سوء فهم، دع قائمة ما أعنيه تحت الواجهات:
  • النماذج الأولية للوظائف.
  • "واجهات" جافا.
  • طرق الطبقات العامة.
  • متغيرات للمكونات العامة.
  • ملفات الرأس (.h) في C / C ++.
  • نقاط نهاية API مريحة.
  • توجيه URL.
  • الجوانب العامة من "النماذج" أو "الحزم".

هيكل قاعدة بيانات المنطق (DDL).

وأكثر بكثير.

استنتاج

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

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

في أغلب الأحيان، تحت واجهة الكلمة تعني واجهة المستخدم. على سبيل المثال، يقولون: "هذا المتجر عبر الإنترنت لديه واجهة غير مريحة مريحة." هذا يعني أن المتجر غير مريح للتفاعل. على سبيل المثال، من الصعب العثور على البضائع اللازمة، وليس من الواضح كيفية تقديم طلب، لا يحفظ الموقع البيانات التي تم إدخالها مسبقا، إلخ.

أمثلة الاستخدام:

يود العديد من المستخدمين إرجاع الواجهة القديمة "vkontakte"، لا يحبون الجديد.

يحتوي البرنامج على واجهة بديهية - واضحة على الفور إلى أين تضغط وماذا سيؤدي إلى ذلك.

واجهة Windows معقدة للغاية: يتم الخلط بين المستخدمين عديمي الخبرة في كومة من الإعدادات.

واجهة الويب هي صفحة على الإنترنت والتي تسمح للمستخدم بالتفاعل مع بعض الخدمات أو الجهاز مباشرة من خلال المتصفح. على سبيل المثال، باستخدام واجهة الويب، يمكنك استخدام البنك عبر الإنترنت: انتقل إلى صفحة البنك، وأدخل تسجيل الدخول وكلمة المرور، ثم ترجمة الأموال بين الحسابات، الدفع مقابل الخدمات، إلخ.

واجهة الأجهزة والبرامج. ما هو واجهة USB و API بالإضافة إلى واجهة المستخدم، هناك واجهة برمجية (تفاعل البرامج مع بعضها البعض) وواجهة الأجهزة (طرق تفاعل الأجهزة الفيزيائية، "Iron"). عندما يقولون عن واجهة الأجهزة، فإنهم عادة ما تعني الموصلات التي يمكن من خلالها توصيل الأجهزة ببعضها البعض. على سبيل المثال، "الاتصال عبر واجهة USB" يعني ربط الأجهزة من خلال

الإطارات المتسلسلة عالمية

مخصصة لربط المعدات الطرفية. من خلال USB، على سبيل المثال، يمكنك توصيل لوحة مفاتيح أو ماوس أو كاميرا أو هاتف ذكي بجهاز كمبيوتر.

واجهة الأجهزة - كابل USB

واجهة البرنامج هي وسيلة للتفاعل بين البرامج فيما بينها. على سبيل المثال، API (واجهة برمجة التطبيقات، واجهة برمجة التطبيق) هي مجموعة من الأوامر التي تسمح للبرامج بتبادل البيانات تلقائيا دون مشاركة الناس. يرسل برنامج API واحد طلبا، يستجيب لها آخر لها.

على سبيل المثال، تظهر على موقع الأخبار أسعار العملات التي تتغير في الوقت الفعلي. هذا لا يعني أن محرر الموقع يغير كل مرة يدويا الأرقام على الصفحة. يرسل موقع الأخبار نفسه طلب API إلى خادم مع تبادل العملات ويحصل على الأرقام الضرورية من هناك.

أنواع واجهات المستخدم. الرسم والنص وغيرها

واجهة النص هي وسيلة لإيصال شخص لديه جهاز كمبيوتر باستخدام طباعة الأوامر. على سبيل المثال، في نظام التشغيل MS-DOS، كانت الواجهة نصية - المستخدم طلب الأوامر اللازمة على لوحة المفاتيح، وأداء الجهاز لهم.

MS-DOS Text Interface - سطر الأوامر

مشكلة واجهة النص هي أن المستخدم يجب أن يعرف الأوامر اللازمة وفي كل مرة تكتبها يدويا دون أخطاء. جزئيا من هذه الصعوبة القضاء على Shell for MS-DOS - على سبيل المثال، قائد Norton.

Norton Commander - File Manager for MS-DOS. لا يمكنك فقط كتابة الأوامر على لوحة المفاتيح، ولكن العمل مع الملفات باستخدام اختصارات لوحة المفاتيح.

قريبا ظهرت هناك واجهات رسومية حيث يتفاعل المستخدم مع الكائنات المرئية: الأزرار والأيقونات والصور على الشاشة. يستخدم نظام التشغيل Windows واجهة رسومية: ينقر المستخدم على الرموز الموجودة على الرموز - الصور التوضيحية التي تصور الملفات والبرامج.

واجهة Windows 3.11 الرسومية

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

واجهة المواد - فأرة الكمبيوتر. صورة فوتوغرافية: dowderphotos.

واجهة الصوت هي التحكم في استخدام أوامر الكلام. صوت الإنسان اليوم يعرف حتى الهواتف المحمولة. على سبيل المثال، SIRI من Apple، مساعد صوت Google، "أليس" من ياندكس

واجهة الصوت - Apple Siri. سيري تخفيض من تفسير الكلام وواجهة التعرف (واجهة التعرف على الكلام والتفسير). صورة فوتوغرافية: dowderphotos.

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

واجهة التثبيت - وحدة التحكم Nintendo Wii لعبة، التي تستجيب مراقبوها لحركة المستخدم.

تتيح واجهة اللمس للمستخدم تجربة أحاسيس اللمس (الدفع والاهتزاز وما إلى ذلك) والتفاعل مع الكمبيوتر بمساعدتهم.

قفازات الواقع الافتراضي - مثال على واجهة اللمس. الصورة: ناسا.

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

جينز ناومان - أعمى، قادر على "رؤية" مع بدلة مرئية عصبية. تلتقط الكاميرا الصورة وترسل الإصدار المعالج في اللحاء المرئي للدماغ من خلال الأقطاب الكهربائية.

كيان ريفز في فيلم "مصفوفة" (1999). يتمتع الأبطال Neuropionerface بالوصول إلى الواقع الافتراضي - المصفوفة.

cybeise - واجهة في شكل واقع افتراضي. الإطار من فيلم رائع "جوني مانيكا" (1995)

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

موجة

ما هي الواجهة التي تحتاجها

ترجمت من واجهة الإنجليزية - التفاعل. كيفية الكتابة باللغة الروسية: الواجهة (في بعض الأحيان مكتوبة الأجهزة - غير صحيحة). التعريف العادي هو حدود مشتركة بين كائنين وظيفيين. على سبيل المثال، يحصل الرجل عن عجلة عجلة سيارته، مما يجعل ذراع علبة التروس - هذا هو التفاعل مع نظام واجهة الماكينة. علبة التروس كموصل بين السائق والسيارة.

  • في علوم الكمبيوتر، معنى كلمة أعمق هي أدوات تفاعل المستخدم مع اللعبة أو البرنامج أو نظام التشغيل، طرق التحكم في تشغيل جهاز الحوسبة. بفضل الواجهة، سيعرف الشخص أي برنامج أو محرر نصوص. إذا كنا نمتلك العمل مع محرر الرسومات الطلاء، فمن السهل إتقان برامج أخرى مماثلة، لأنها لديها هيكل مماثل.
  • مهام الواجهة الأساسية:
  • معلومات الإدخال والإخراج؛
  • برامج إدارة؛

تبادل البيانات من خلال الناقلين الخارجيين؛

أوامر.

لوحة الخلفية لوحدة نظام الكمبيوتر هي أيضا واجهة تسمح لك بتوصيل الأجهزة الأخرى.

يتضمن المستخدم جهاز كمبيوتر ويرى الرموز أمامه: "جهاز الكمبيوتر الخاص بي"، "التسميات"، "Photo"، إلخ. - كل هذه العناصر الواجهة.

أنواع الواجهات

يمكن وصف الواجهة لفترة وجيزة بأنها تصريح: ما يراه الشخص أمامه، باستخدام جهاز كمبيوتر أو هاتف. على الرغم من أنه في الواقع، هذا هو بنية النظام، لأنه من خلال الضغط على الأزرار بالنقر فوق عنصر القائمة، يذهب المستخدم إلى المكان الذي يحتاج إليه: الكاميرا والمعرض وجهات الاتصال والرسائل. هدفها هو استخدام فعال وممتع للجهاز الإلكتروني أو الموقع.

فيديو.

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

مواد؛

سطر الأوامر

في الهواتف.

ما هي واجهة كلمات بسيطة

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

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

من أوجه القصور - تحتاج إلى معرفة الأوامر، في كل مرة تقوم فيها بطلبها دون خطأ واحد. ميزة هي القدرة على إدخال الأوامر دون مشاركة بنية الرسم، والتي تعطي فرص إضافية.

تبدأ سطر الأوامر (واجهة وحدة التحكم) في قذيفة، على سبيل المثال، في BIOS. المسار الرئيسي لموقعه: C: \ Windows \ System32 \ cmd.exe. لا يحتاج YoSer المعتاد إلى أن يكون متعمدا حيث يوجد سطر الأوامر وكيفية عمله، والمحترفين هو الأداة الرئيسية، لأنه يساعد في الكمبيوتر مع فيروسات واستعادة ويندوز وفي حالات أخرى.

طريقة بسيطة للعثور على سطر الأوامر: في نفس الوقت اضغط على مفاتيح WIN + R، في نافذة CMD التي تظهر.

واجهة القيادة

الرسم والنص

  • الرسوم البيانية (المهندس واجهة المستخدم الرسومية، واجهة المستخدم الرسومية) يستخدم في جميع العمليات، في معظم التطبيقات. في كثير من الأحيان يطلق عليه WIMP - هذا اختصار من الأحرف الأولى من WordWOW، الأيقونة، القائمة، جهاز التأشير (جهاز التلاعب).
  • العناصر الرئيسية:
  • قائمة؛

قوائم

الصور التوضيحية (الرسومات، المخططات).

على Windows Windows، يقوم المستخدم بالنقر فوق الرموز، الصور التوضيحية التي تصور البرامج والملفات هي واجهة رسومية توفر فرصا وافرة لكل مستخدم. لا حاجة لإدخال أي أوامر. للتفاعل المريح، يتم استخدام فأرة الكمبيوتر.

تحتاج إلى التمييز بين الرسوم من الواجهة المرئية، والتي تمثل النظام كمجموعة من الصور المرئية - يمكن أن يكون أيقونة أو نقش موجود في موقع شاشة معين. البنية المرئية لا تستخدم بالضرورة تعيينات الرسومات. البنية المرئية يمكن أن تكون الرسوم والنص.

يستخدم النص عند الدخول وتوفير المعلومات، مجموعة من الحروف / الأرقام، الأحرف من pseudographic. يستخدم جميع عناصر التصميم الرسومية الأساسية: مربعات الاختيار، وأزرار إسقاط قوائم، إلخ. مختلفة مع الموارد التقنية الصغيرة المطلوبة، بيانات عالية السرعة. واجهة النص هي نوع من المستخدم، في حين أن سطر الأوامر جزء من النص.

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

تدعم بعض البرامج نظام النافذة المتقدمة، مثل Vision Turbo، D-Flat، CCAPE، العديد من مواضيع التصميم القابلة للتغيير (DOS Navigator)، وكذلك القدرة على استخدام عناصر تفاعلية تفاعلية مختلفة (عصا التحكم، الماوس).

الإيماءات والصوت واللمس والعناية

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

اللمس عند التفاعل يعتمد على الأحاسيس اللمسية، والحصول على ردود الفعل الحساسة (الاهتزاز، الدفع)؛

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

واجهة النظام الرسومية

البرمجيات والأجهزة والأجهزة والبرامج

  • يوفر نظام الواجهة جهة اتصال حتى بين بروغ والأجهزة.
  • هناك 3 مجموعات:
  • واجهة البرمجة (الإنجليزية. واجهة البرمجة) هي تفاعل البرامج فيما بينها. على وجه الخصوص، واجهة برمجة تطبيقات API أو تطبيق - طرق تبادل البيانات بين برامج الكمبيوتر (يرسل المرء طلبا إلى API، يستجيب آخر). بوابة الأخبار تظهر العملات. ليس المحرر هو المسؤول عن هذا (كان يتعين عليه تغيير الأرقام يدويا)، و API الذي يرسل فيه الموقع طلبا إلى صرف العملات، يستقبل إجابة؛

تم تصميم الأجهزة للتفاعل الأجهزة المادية مع بعضها البعض عن طريق فتحات، والموصلات، والبوابات. USB (الإطارات المتسلسلة عالمية) هو المثال الأكثر أهمية. من خلاله الاتصال بالكمبيوتر الشخصي، الكاميرا، الماوس؛

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

واجهة المستخدم

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

في كثير من الأحيان، تحت واجهة Word تعني المستخدم (واجهة المستخدم). يحدث ذلك أن زائر الموقع يقول: "هناك تسجيل أو قائمة أو قائمة مربكة أو قائمة". لذلك، فإن الموقع غير مريح للاتصال: من الصعب العثور على العنصر المناسب، والخروج من الطلب، قم بتنزيل المستند. الهيكل المفهوم هو عندما يرى الشخص على الفور من أين النقر فوق، يعرف ما سيؤديه إليه. ولكن مع Windows، العديد من المبتدئين لديهم مشاكل، لأن تصميم مسح نظام التشغيل هذا، يتم الخلط بين المستخدمين عديمي الخبرة في الإعدادات. في منصة 1C، اثنين من آليات واجهة مستخدم مختلفة تستخدم في عملاء 1C مختلفة.

سطر الأوامر، الرسم، النص، الصوت، الإيماءات، اللمس، العصبي والإجرائي - يتم تضمين كل هذا في واجهة المستخدم. تحت سيطرتها، يدخل المستخدم البيانات الموجودة في جهاز الكمبيوتر، يتم عرض معلومات حول الشاشة، الطابعة. هناك حتى واجهة من جدول البيانات - هذا عنصر يرىه الشخص، على سبيل المثال، تطبيق OpenOffice.org Calc.

ولكن هناك بعض أنواع أخرى من واجهة المستخدم.

واجهة الأجهزة

الويب، لعبة

واجهة الويب هي صفحة ويب (واحدة أو مجموعة) تمثل بنية لجهة الاتصال مع خادم أو جهاز عبر بروتوكول HTTP ومتصفح ويب. على سبيل المثال، يمكن للعميل الذهاب إلى صفحة البنك، ودفع خدمات المرافق. الميزة الرئيسية - لا حاجة لتثبيت برنامج إضافي، لأن نظام التشغيل يذهب مع المتصفح. لا حاجة إلى الخلط بين واجهة الشبكة. تحت هذا المصطلح مفهوم كجهاز افتراضي أو بدني، يهدف إلى نقل البيانات بين البرامج من خلال شبكة الكمبيوتر (على سبيل المثال، VLAN).

الطريقة الشعبية لإنشاء واجهة الويب هي استخدام HTML مع CSS و Javascript'a. تستخدم أيضا Adobe Flash أو تطبيقات Java أو Silverlight.

نوع آخر هو واجهة اللعبة - يرتبط مباشرة مع gamedizayn، على الرغم من أنها تتجاوز كفاءتها. يسكن اللاعب والمباراة في أجنام مختلفة، وهيكل الألعاب هو نقطة اتصالهم المتبادلة. مع ذلك، يحصل اللاعب على المعلومات اللازمة من اللعبة، ويستغرق الأمر تصرفات اللاعب.

مواد

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

أنواع الواجهات

واجهة في الهواتف

تتميز النمط العام لواجهة الجهاز المحمول باعتباره SIMP (مؤشر قائمة أيقونة الشاشة). على منصات Windows المحمولة هي عناصر الهيكل الذي يشغل الشاشة بأكملها. يتم إجراء الانتقال بين النوافذ عناصر الرسومات أو سحب بإصبع.

  • يتم تفسير ميزات تصميم SIMP من خلال تفاصيل نظام التشغيل.
  • نظام التشغيل الأكثر شيوعا للأدوات:
  • ذكري المظهر؛
  • أبل iOS؛
  • ويندوز موبايل؛
  • النخيل نظام التشغيل

سيمبيان نظام التشغيل

تشغيل بلاك بيري.

روسيا تحظى بشعبية - Android، Apple iOS، WindowsMobile. لكن الشركات المصنعة تستخدم أنواعها من أنظمة الواجهة وكتل، والسبب الرئيسي هو العلامة التجارية. تعني قدرة Android على التخصيص أن الشركات المصنعة لمعدات الشركات يمكن أن تجعل تغييرات في البرامج، على سبيل المثال، في مجال الوظائف والتصميم.

لا تؤثر الهياكل النظامية المختلفة على الأجهزة المحمولة بشكل كبير على تجربة أصحابها، لأنها تم إنشاؤها لحل المهام العالمية. الفرق في مجموعة التطبيقات.

تشمل واجهة الجهاز المحمول أيضا مقابس سماعة الرأس، والشحن، والمساعدين الصوتيين - جزء كبير من ما يعتمد على عمل الكمبيوتر، يتم تعديل هذا فقط لأدوات الأدوات. ولكن في الهواتف الذكية هناك العديد من الهياكل الجديدة، على سبيل المثال، NFC (NFS) - هيكل الاتصالات اللاسلكية.

ماذا تعني لغة الواجهة

لا يستحق المربكة به بلغات مثبتة عند كتابة المواد النصية.

  • لغة الواجهة هي تلك التي يتم استخدامها عند تحميل العمليات، في القائمة، في مربعات الحوار، ويندوز الخطأ والمراجع. يمكن تغييره إذا تم تثبيت واحد إضافي على الأقل إلى اللغة الرئيسية.
  • طريقة بسيطة لمعرفة نوافذ اللغة التي تقف على جهاز كمبيوتر:
  • افتح "لوحة التحكم"؛

علامة التبويب "اللغة"؛

تخصيص اللغة الرئيسية المستخدمة الآن. يمكن تغييرها أو إضافة واحدة جديدة.

الموجودات

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

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

  • ما هي الواجهة

  • الواجهة هي "موصل" بين الرجل وبرنامج أو نظام تشغيل أو جهاز تقني أو طريقة للتفاعلات بين التطبيقات فيما بينها. يمنح الشخص الأوامر باستخدام الواجهة، يقوم الجهاز بتحليلها ويستجيب. المهام الرئيسية التي يهدف إليها:

  • أدخل وعرض المعلومات (الصوت والصورة)؛

  • إدارة التطبيقات الفردية؛

تبادل البيانات بأجهزة أخرى؛

أنواع الواجهات

التفاعل مع نظام التشغيل.

سطر الأوامر

تتضمن الواجهة تفاعل ليس فقط البشر والتكنولوجيا، ولكن أيضا برنامج كمبيوتر، برنامج برنامج، جهاز كمبيوتر. على سبيل المثال، عندما تكون الأجهزة متصلة بوحدة نظام الكمبيوتر، حيث تستخدم طريقة التفاعل الموصل.

تسمح لك بعض أنواع التفاعل بالحصول على المزيد من التحكم في كمبيوتر أو هاتف ذكي، ولكنها تتطلب مهارات إضافية. البعض الآخر أكثر راحة، ولكن توفير فرص أقل. كل نوع له خصائصه الخاصة.

تبدأ سطر الأوامر (واجهة وحدة التحكم) في قذيفة، على سبيل المثال، في BIOS. المسار الرئيسي لموقعه: C: \ Windows \ System32 \ cmd.exe. لا يحتاج YoSer المعتاد إلى أن يكون متعمدا حيث يوجد سطر الأوامر وكيفية عمله، والمحترفين هو الأداة الرئيسية، لأنه يساعد في الكمبيوتر مع فيروسات واستعادة ويندوز وفي حالات أخرى.

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

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

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

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

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

لا تستخدم واجهة النص الصور: يتم تقديم الأوامر باستخدام النصوص والمعلومات المتوفرة في نموذج النص.

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

واجهة الصوت هي إدارة صوتية. تدرك الأداة وأداء الأوامر الصوتية وأداءها.

اللمس عند التفاعل يعتمد على الأحاسيس اللمسية، والحصول على ردود الفعل الحساسة (الاهتزاز، الدفع)؛

اللمس ينطوي على التفاعل بمساعدة اللمس: اهتزاز أو حساسية للضغط.

تنقل الواجهة العصبية الأمر مباشرة من الدماغ إلى الكمبيوتر، لذلك، يتم زرع الأقطاب الكهربائية في الدماغ. يتم استخدامه في الطب: لذلك يمكن لشخص مشلول التواصل مع العالم الخارجي.

تم تصميم الأجهزة للتفاعل الأجهزة المادية مع بعضها البعض عن طريق فتحات، والموصلات، والبوابات. USB (الإطارات المتسلسلة عالمية) هو المثال الأكثر أهمية. من خلاله الاتصال بالكمبيوتر الشخصي، الكاميرا، الماوس؛

يوفر تفاعل البرنامج مع بعضها البعض واجهة برمجية. برامج ترسل الطلبات إلى بعضها البعض واحصل على إجابات. على سبيل المثال، لإظهار الطقس المخالي باستمرار في عنصر واجهة مستخدم أو على جهاز كمبيوتر، يرسل برنامج واحد باستمرار طلب إلى آخر، ويوفر بيانات جديدة.

مخصص الأجهزة لتنظيم الاتصال بين الأجهزة المادية من خلال الموصلات والفتحات. وعندما يقرأ الكمبيوتر المعلومات من قرص ثابت - هذا عمل مشترك للبرنامج والجهاز المادي، أي واجهة الأجهزة والبرامج.

الكل، التي يتفاعل منها المستخدم المعتاد عندما يتضمن جهاز كمبيوتر، يدخل موقع الويب أو في التطبيق، كل ما يراه الشخص يراه الشاشة هو واجهة مستخدم.

موقع الويب، موقع

الطريقة الشعبية لإنشاء واجهة الويب هي استخدام HTML مع CSS و Javascript'a. تستخدم أيضا Adobe Flash أو تطبيقات Java أو Silverlight.

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

مواد

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

ما يجب أن يكون الواجهة

هذا اتصال اللمس مع الأدوات. ويشمل الأمر لمس اللمس أو الإجراءات ذات الماوس أو عصا التحكم.

هيكل قاعدة بيانات المنطق (DDL).

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

Добавить комментарий