رابط - کلمات ساده ای چیست؟

رابط - آنچه که نیاز به آن، نوع رابط دارد

4 ژانویه 2021.

سلام، خوانندگان وبلاگ عزیز ktonanovenkogo.ru. در دوران کامپیوتر توده، مهم است که با آخرین روند ها ادامه داشته و به طور مداوم شکاف را در دانش پر می کند.

مهم است که رابط کاربری مربوط به اهداف و زمینه باشد. اگر این تعامل یک متخصص با یک کامپیوتر است، اما اصلی ترین چیز این است که توانایی ارائه اطلاعات و انجام وظایف. برای یک کاربر عادی، نه تنها فنی، بلکه ارزش زیبایی شناختی را نیز دارد: کار با آن باید راحت و قابل فهم باشد.

شما نمی خواهید نیاز به سقوط داشته باشید؟ امروز ما یک اصطلاح دیگر مرتبط با کامپیوتر را در نظر می گیریم.

من سعی خواهم کرد چنین چیزی را به عنوان یک رابط توضیح دهم: چه چیزی است و چرا ضروری است. بنابراین، بیایید شروع کنیم.

رابط کاربری ...

مانند همه عبارات جدید مد، کلمه "رابط" به ما از زبان انگلیسی آمد. رابط ترجمه شده نشان می دهد " محل تماس "

رابط مجموعه ای از ابزارهایی است که به کاربر اجازه می دهد تا با سیستم عامل کامپیوتر، یک دستگاه تلفن همراه یا سایر انواع تجهیزات ارتباط برقرار کند.

رابط کاربری ...

به عنوان ابزار تعاملات می تواند عمل کند:

  1. زمینه های متن؛
  2. دکمه ها و کنه ها؛
  3. لیست کشویی؛
  4. نکات پاپ آپ؛
  5. سوئیچ ها؛
  6. عناصر منو برنامه یا سایت؛
  7. و خیلی بیشتر.

بهتر است روشن شود که چه نوع میوه این رابط است، یک مثال بصری را در نظر بگیرید. فرض کنید شما تصمیم به رفتن به تعطیلات در لبه های دور و رزرو هتل در پیش از طریق اینترنت.

بیا در سایت، و شما انتظار دارید چند رابط کاربری: جستجو، نتایج نمایش، وارد کردن اطلاعات شخصی، پرداخت. در طول هر مرحله از تعامل با سایت رزرو هتل، کاربر با داده ها عمل می کند و اقدامات خاصی را انجام می دهد.

چرا من به یک رابط نیاز دارم؟ همه چیز ساده است، بیش از هر زمان دیگری: راحت تر از برنامه، سایت و سایر محصولات، کاربران شادتر استفاده کنید.

رابط کاربری دوستانه همچنین اجازه می دهد تا شما را به افزایش فروش در سایت های تجاری، به عنوان بازدید کنندگان در اولین ثانیه از استفاده از سایت، برگه را بسته نمی کنند.

سایت هایی با طراحی خوب در میان کاربران بیشتر محبوب هستند، بیشتر بازدید شده، و بنابراین، بهترین درآمد را به صاحبان خود را.

انواع رابط ها

رابط کاربری معمولی است که در زیر موارد زیر قرار دارد:

  1. خط فرمان . این قدیمی ترین و وقت گیر ترین راه برای ارتباط بین کاربر و رایانه شخصی است. در عین حال، خط فرمان همچنان قابل اطمینان ترین نوع رابط است.
    برای کاربران، رابط کاربری مبتنی بر کار با کامپیوتر یا تلفن است. از این سیستم ساده یا پیچیده، راحتی کنترل دستگاه بستگی دارد. توسعه دهندگان می توانند ساختارهای سیستم را برای وظایف پیچیده تغییر دهند. کاربران بی تجربه، بهتر است دستگاه ها را با یک رابط کاربری روشن برای تسهیل کار خود خریداری کنید.

    ارتباط با دستگاه در زبان آن رخ می دهد. خط فرمان در سیستم عامل های مورد نظر برای کاربران حرفه ای مورد استفاده قرار می گیرد: به عنوان مثال، در BIOS.

  2. رابط گرافیکی . این دقیقا همان چیزی است که امروز به معنای "رابط کلمه" است. این در تمام سیستم عامل ها، برنامه ها، صفحات وب کاربرد دارد.
    گوشی های هوشمند

    با یک رابط گرافیکی، کاملا همه کاربران کامپیوتر مواجه هستند. برای تعامل راحت تر، توصیه می شود از یک موس کامپیوتر استفاده کنید.

  3. رابط رابط . توسعه سریع فن آوری ها به یکی از دلایل ظاهر یک رابط ژست تبدیل شده است. این شامل صفحه نمایش های حسی، جوی استیک، قلم و سایر عناصر است.
  4. رابط صوتی . صحبت کردن عبارت "OK، Google" و پس از آن پرس و جو جستجو را تلفظ می کنید، با رابط صوتی سیستم عامل گوشی های هوشمند یا رایانه لوحی ارتباط برقرار می کنید.
    رابط خط فرمان

    این نوع به تازگی به لطف توسعه سریع فن آوری ها ظاهر شد.

    اما امروز از محبوبیت قابل توجهی برخوردار است، زیرا به شما امکان می دهد تعدادی از وظایف مهم را حل کنید و دستگاه ها را مدیریت کنید (آن چیست؟) - دستگاه های موبایل، اتومبیل، لوازم خانگی، کامپیوتر - با دستورات صوتی.

چه باید باشد

وظیفه اصلی هر رابط کاربری - به راحتی استفاده کنید برنامه خاص، سایت یا محصول مشابه.

به عنوان مثال، هنگام توسعه یک پورتال وب توصیه می شود که انجام شود تمرکز بر عناصر زیر :

  1. تعداد مطلوب عناصر نمایش داده شده؛
  2. سازگاری به دستگاه های دسکتاپ و تلفن همراه؛
  3. حضور دکمه های شبکه های اجتماعی محبوب؛
  4. آیکون ها و دکمه های بهینه؛
  5. فرم مناسب ثبت نام؛
  6. محل شهودی آیتم های منو؛
  7. حضور رنگ یا لهجه اطلاعات؛
  8. سیستم جستجو در سایت؛
  9. در صورت لزوم، در دسترس بودن اطلاعات تماس.

یک مثال روشن از یک رابط به خوبی فکر می کند ktonanovenkogo.ru. در سایت، یک راه حل رنگ خوب، یک منوی بصری، حضور جستجوی داخلی، نمایش مقالات توسط تاریخ انتشار، که باعث استفاده از منابع سریع و لذت بخش می شود.

این همه، دوستان عزیز است. حالا شما می دانید که رابط کاربری، به سادگی صحبت کردن، پوسته خارجی برنامه ها یا سایت ها است که باعث می شود آنها از آنها استفاده کند.

امیدوارم پس از خواندن مقاله، دیگر هیچ سؤالی ندارید. در هر صورت، به شما اجازه می دهد که شما را دعوت به نظرات به Squence در این موضوع با دیگر خوانندگان وبلاگ ktonanovenkogo.ru.

و برای تحکیم دانش، من پیشنهاد می کنم یک ویدیو را در مورد رابط جدید برای آندروید از سامسونگ تماشا کنید:

موفق باشی! دیدن جلسات سریع در صفحات ktonanovenkogo.ru

بیشتر رابط های مدرن برای کاربران با تجربه طراحی شده اند. جرثقیل ها نیز بلافاصله برای همه آشنا نبودند. پیش از این، دو طرف سوئیچ قطعا قرمز و آبی نامگذاری شده بود تا روشن شود که در آن سرد است، و آب گرم. در حال حاضر ما عادت کرده ایم، و بیشتر و بیشتر جرثقیل بدون برچسب منتشر می شوند. احتمالا، آنها در نهایت به یاد می آورند که کدام طرف جریان دارد.

با رابط های وب آن را در مورد یکسان بود. در ابتدای صفر، یک فساد وجود داشت - گرافیک اشیاء دنیای واقعی را تقلید کرد. اگر سایت دکمه بود، به نظر می رسید یک دکمه حجمی واقعی بود. این برای اکثر افرادی که اولین رایانه خود را خریداری کردند قابل درک بود.

اما لحظه ای آمد که کاربران جدید کمتر تبدیل شده اند. هر کسی که می خواست از کامپیوتر استفاده کند و اینترنت قبلا در تکنولوژی تسلط یافته است. و نیاز به رابط های واقع گرایانه به تدریج ناپدید شد.

در حال حاضر، به جای آیکون دقیق "منو"، به اصطلاح برگر معمولا با امضای - سه نوار افقی استفاده می شود. و ما کاملا به خوبی می دانیم که منظور آنها چیست. ما همچنین می دانیم که سایت ها معمولا از بالا به پایین خوانده می شوند. و به هیچ فلش برای توضیح نیاز ندارید. رابط های مدرن برای کاربران با تجربه و مختصر طراحی شده اند.

برنامه ها

رابط می تواند نوعی قرارداد بین سیستم و یک محیط خارجی باشد. به عنوان بخشی از برنامه کامپیوتری، سیستم تابع یا ماژول است و "محیط زیست" بقیه پروژه است. رابط رسما توصیف می کند که چه اطلاعاتی را می توان بین سیستم و محیط انتقال داد. و "پیاده سازی" را می توان به عنوان "سیستم رابط منهای" توصیف کرد. در زبانهای مانند رابط های Haskell می تواند بسیار خاص باشد. و در زبانهایی مانند پایتون، برعکس، بسیار عادی هستند. نوع رابط انتخاب شده ممکن است بر اندازه بدهی های فنی ایجاد شده و عملکرد برنامه نویس تاثیر بگذارد. نحوه محاسبه آن در زیر نوشته شده است. یک روش نیز برای ارزیابی و مقایسه رابط های مختلف پیشنهاد شده است. بر اساس این مقایسه ها، می توانید خود را برای استفاده از ابزار زبان یا نرم افزار تماشا کنید.

مهمترین مفهوم در توسعه نرم افزار - مفهوم

رابط

. این مقاله در مورد رابط های جاوا نیست، بلکه در مورد رابط های طراحی نرم افزاری است. و به میزان کمتر - در رابط های در جهان اطراف. البته، بسیاری از مفاهیم مهم دیگر در توسعه نرم افزار استفاده می شود، اما من معتقدم که اکثر آنها به نحوی بسته به اهمیت رابط هستند.

رابط کاربری چیست؟

اکثر ما با دو فرمول کوتاه آشنا هستیم:

رابط یک قرارداد بین سیستم و یک محیط خارجی است. رابط یک سیستم جفت گیری با یک محیط خارجی است.

رابط = سیستم ∩ محیط اطراف

تعریف با جفت شدن مناسب است، اگر سیستم یک جسم فیزیکی باشد. هر دو تعاریف بسیار انتزاعی هستند، بنابراین اجازه دهید آنها را در مثال چاپ در صفحه کلید در نظر بگیریم:

در اینجا سیستم لپ تاپ، محیط زیست - دست (و همچنین پنجه گربه، صعود بر روی صفحه کلید). در نتیجه، رابط باید بخشی از تعامل بین دست ها و لپ تاپ باشد، که تنها به برخی از احزاب نمی تواند نسبت داده شود، بلکه تنها به هر دو. معمولا ما در مورد دست ها فکر می کنیم و صفحه کلید جداگانه است، به طوری که مرز دقیق رابط در این مورد موضوع اختلاف فلسفی است. شما تصمیم می گیرید: آیا صفحه کلید به عنوان یک کل یا اتم های فردی در ارتباط با یکدیگر در هنگام اتصال انگشتان و کلید ها، با یکدیگر ارتباط برقرار می کنند.

احتمالا، شما شگفت زده خواهید شد که چگونه این مثال با تعریف رابط به عنوان یک قرارداد ارتباط دارد. در این مورد، این توافقنامه به معنای توافق است که در آن زمان ما به اندازه کافی تلاش کردیم، زمانی که محل کلیدها را به یاد می آوریم و حافظه عضلانی دوباره کار کرد. تعدادی از تفاوت های ظریف با معاهده همراه است. به عنوان مثال، فشار دادن و نگه داشتن کلید دارای مقدار متفاوت نسبت به یک فشار ساده یک بار است.

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

:

add_numbers. 

int unsigned int، unsigned int)؛ void other_function (void) {add_numbers (3.4)؛} Unsigned int add_numbers (Unsigned int a، unsigned int b) {بازگشت A + B؛} int main (void) {add_numbers (9.99)؛ بازگشت 0؛}

همان روش تمایز رنگ را اعمال کنید

شلوار

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

برای توصیف محیط زیست، سیستم ها

و رابط کاربری:

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

سیستم مورد نظر در اینجا شامل یک تابع است

. اگر می گویید که می توانید به عنوان یک روش اصلی سیستم جداگانه در نظر بگیرید -

other_function

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

- پس شما درست خواهد بود. اما برای سادگی، ما یک تابع را در نظر می گیریم

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

.

سیستم منزوی. همچنین توصیه می شود بخشی از رابط تبدیل را به در نظر بگیرید

همانطور که می بینید، مفهوم چهارم اینجا اضافه شده است: "پیاده سازی". این بسیار دشوار است که موضوع رابط را بدون در نظر گرفتن پیاده سازی های خاص در نظر بگیریم. بیایید این اصطلاح را تعریف کنیم: پیاده سازی یک سیستم رابط منهای است. پیاده سازی = رابط سیستم ∖

پیاده سازی = سیستم ∖ (محیط سیستم ∩)

من باید اعتراف کنم که قبلا چنین تعریف پیاده سازی را نداشتم. اما این یک گسترش اجتناب ناپذیر مجموعه ای از تعاریف رابط است که دارای مزایای متعددی است. اگر شما یک دانش آموز ضعیف هستید و برای امتحان آماده هستید، احتمالا معلم شما هرگز از این تعریف شنیده نشده است. من شگفت زده نخواهم شد اگر آن را با هر طبقه بندی برنامه نویسی شی گرا متضرر شود. اما حتی در این مورد، من نمی خواهم آن را تغییر دهم. اجازه دهید طرفداران OOP خلاصه اتهامات خود را مطابق با تعریف من بازنویسی کنند.

این، به نوبه خود، ما را به نتیجه گیری منطقی بعدی هدایت می کند: هنگامی که ما در مورد رابط های سیستم فیزیکی صحبت می کنیم، معمولا "پیاده سازی" این سیستم را در قالب یک جسم فیزیکی تصور می کنیم. پس از همه، آن عجیب خواهد بود که اجرای "واقعی" را بدون توجه به دکمه های حساب، نمایش یا اجزای دیگر در نظر بگیرید. و ما را فشار می دهد ما رابط رابط را بیشتر به عنوان "توافق"، و نه ترکیبی از اشیاء فیزیکی. یعنی، به شکل مجموعه ای از وعده ها، تضمین ها یا چیزی شبیه ...

.

قرارداد بین سیستم و محیط زیست

رابط به عنوان قرارداد

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

اگر رابط کاربری را در نظر بگیرید

  • به شکل یک قرارداد، پس از آن تضمین خواهد شد چنین: همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم تابع
  • همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم وجود دارد این تنها دو پارامتر دارد، هر کدام از آنها بدون امضاء شده است .
  • همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم int این تنها دو پارامتر دارد، هر کدام از آنها بدون امضاء شده است .

تنها یک نفر را امضا نمی کند

  • رابط این تابع به ما چیزی نمی گوید: همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم ;
  • در قطع اعدام همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم ;
  • در مورد پیچیدگی آستانه ای از رتبه بندی همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم ;
  • در تعداد حافظه آزاد مورد نیاز برای شروع این تنها دو پارامتر دارد، هر کدام از آنها بدون امضاء شده است ;
  • در مورد اجرای خاص Unsigned

در عوارض جانبی (تخصیص حافظه، تغییر متغیرهای جهانی).

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

رابط کاربری فوق را شرح داد

شناخته شده تحت نوع عملکرد

نمونه اولیه

. در نسخه های قبلی K & R C، یک فرم ضعیف توصیف رابط ها مورد استفاده قرار گرفت:

Unsigned int add_numbers ()؛

تعریف رابط به عنوان یک قرارداد بسیار مناسب برای برنامه نویسی است. پس از همه، اکثر وظایف برنامهنویس در تعیین و درخواست مجموعه ای از Axioms تشکیل شده است. شرایط اولیه و نهایی برخی از خواص یا رفتار را ارائه می دهد. قبل از اینکه دو طرف یک رابطه تجاری با یکدیگر برقرار کنند، قرارداد را آماده می کنند. این نتیجه نهایی، مقدار و زمان بندی پرداخت را فرموله کرد. همچنین شرایط برای خاتمه زودهنگام، بازپرداخت و هزینه های اولیه را تعیین می کند. اگر قرارداد نقض شود، وضعیت دادگاه یا داوری را تبدیل می کند. اما اگر چیزی را فراموش کرده اید تا در قرارداد مشخص شود، شگفتی ممکن است بوجود آید.

با برنامه های کامپیوتری همگی مشابه. ماژول ها و توابع می گویند که آنها نیاز دارند و (گاهی اوقات) آنچه را که آنها به آنها داده می شود. نقض این قرارداد منجر به یک خطای تلفیقی، به خطای اعدام، به شکست برنامه، سیستم، ابزار کنترل کیفیت و رهبری کتابچه راهنمای کاربر می شود. من حتی می گویم که تعریف رابط به عنوان یک قرارداد استعاری نیست. در اینجا همان اصول مشابه در قرارداد تجاری وجود دارد، اگر چه این خیلی دقیق نیست.

اختراعات، کپی رایت و رابط

من در زمینه قانون به شما توصیه نمی کنم. شاید چیزی از من گفت که حتی با قوانین مخالف است. همه موارد زیر، نظر خصوصی نویسنده است.

بنابراین، من تمایل دارم

به معنای واقعی کلمه

رابط رابط را به عنوان یک قرارداد تجاری بین دو نهاد در نظر بگیرید. من تاکید می کنم - من آن را یک استعاره نمی دانم. من به ویژه این تفسیر را با متخصصان تئوری ماشین آلات محاسباتی و معترضان حق نسخه برداری به این تفسیر می رسانم.

آیا رابط کاربری را ثبت کنید؟ با توجه به تعریف خود به عنوان یک قرارداد بین سیستم و محیط زیست، من معتقدم که استفاده از اختراعات اشتباه است. و ظاهرا قانون پرونده موجود از موقعیت من حمایت می کند. اما به یاد داشته باشید که کلمه "رابط" بسیار به طور گسترده ای استفاده می شود و اغلب به این معنی است، همانطور که در بالا توضیح دادم.

آیا باید از رابط کاربری با کپی رایت محافظت کنم؟ مجددا با توجه به طبیعت "قرارداد"، من اعتقاد دارم که "کد منبع" رابط باید هدف کپی رایت باشد. در عین حال، کپی رایت نباید به جنبه های رابط هایی که آنها را ویژه می سازد اعمال شود. کافی است که از کد منبع یا یک تصویر دست نوشته محافظت شود، اما نه ضمانت یا محدودیت. اگر محدودیت های گارانتی یا رابط جدا از هر یک از قسمت های کد آن جدا شود، این قطعات باید از حق حفاظت محروم شوند.

من یک آزمون ساده ارائه می دهم که به شما اجازه می دهد تا از آن حمایت کنید تا بتوانید با کپی رایت محافظت کنید.

اگر می خواهید از برخی از ویژگی های مجموعه، از جمله هر اجزای یک شخص ثالث محافظت کنید، به هر نحوی که توسط رابط استفاده می شود، همیشه می توانید یک جایگزین مناسب ایجاد کنید. جایگزینی همان رابط را اجرا می کند و با موفقیت در نرم افزار از یک شخص ثالث، بدون هیچ گونه تغییری از این نرم افزار خود، و همچنین بدون نقض هر کپی رایت استفاده می شود. اگر جایگزینی به نقض حق نسخه برداری منجر شود، یا به معنای اصلاح نرم افزار از یک شخص ثالث یا عملکرد بدتر شده، پس از آن مجموعه ویژگی بیش از حد تهاجمی است و باید کاهش یابد.

من معتقدم که با کمک این آزمون، توصیه می شود حتی بر روی قابلیت ثبت اختراع بررسی شود. لطفا توجه داشته باشید: هدف آزمون این است که تعیین کنید

دخول

حفاظت از کپی رایت یا حق ثبت اختراع. او در پاسخ دادن به آن کمک نخواهد کرد

دنبال کردن

حفاظت را روشن کنید علاوه بر این، این آزمون تنها نظر من است، و نه یک قانون نظارتی یا قانون.

من همچنین می خواهم توجه داشته باشم که هر معیار به عنوان بخشی از رابط در همان زبان ممکن است در زبان دیگری نباشد. به عنوان مثال، در جاوا، روش اعلامیه های اعلامیه بر اجرای برنامه تاثیر نمی گذارد. و اگر شما به طور تصادفی بگویید که نظم توابع در فایل مهم نیست، خطا در ارتباط با برنامه در پایتون خواهد بود: 

def foo (): چاپ ("ASDF") Def Foo (ABC): چاپ (ABC) Foo ("LOL")

همه این مکالمات در مورد قوانین به من یادآوری کردند

اوراکل علیه گوگل

. با توجه به لینک داده شده، شما می توانید جزئیات جالب برای توسعه دهندگان پیدا کنید، بنابراین من در تجزیه و تحلیل من به آنها تکیه می کنم. با توجه به تمام جنبه ها، من دلایل را برای مخالفت با تصمیم پرونده به نفع اوراکل نمی بینم. من نمی توانم بگویم که آنها بدون قید و شرط از آنها حمایت می کنند، زیرا ما در دسترس نیستم نه چند بخش از پرونده.

من فکر می کنم بسیاری از آنها نگران هستند که یک سابقه ایجاد می شود، اجازه می دهد عناصر رابط کاربری برای محافظت از حق ثبت اختراع یا کپی رایت. فقط موردی که تست من منتقل نمی شود. دادگاه منطقه تصمیم گرفت: "ساختار، توالی و معماری API را می توان با کپی رایت محافظت کرد." من فکر نمی کنم که این یک مشکل است، زیرا "ساختار، توالی و معماری" در تعریف آن به طور کامل از طریق آزمون من خواهد رفت. من چند گزیده ای از مقاله در لینک بالا ارائه خواهم داد:

"دادگاه منطقه به این نتیجه رسید که" تنها یک روش نوشتن "تبلیغات برای تعامل با جاوا وجود دارد. اگر چنین است، استفاده از تبلیغات مشابه به کپی رایت نیست. گوگل این واقعیت را مطرح نمی کند که می توانند API های خود را برای دسترسی به جاوا به استثنای سه نفر بنویسند. " در نهایت، "در گوگل متوجه شد که آنها به معنای واقعی کلمه تبلیغات را کپی کردند."

من فکر می کنم دادگاه تصمیم درست را پذیرفت، نتیجه گیری کرد که خواص منحصر به فرد رابط کاربری نباید محافظت شود. علاوه بر این، گوگل کپی "Literal" را به رسمیت شناخت. اگر این به معنای کپی کردن، از جمله تمام شکاف ها و خطاهای املایی در نظرات، من آن را نقض حقوق می دانم. حتی اگر رابط کاربری را نمی توان محافظت کرد، نباید با حفاظت از بیان خلاقیت فردی دخالت کند.

من فقط از این دادرسی تنها از منابع شبکه باز می دانم، اما، ظاهرا، کد اصلی جاوا به طور کامل به گوگل، از جمله رابط ها کپی شده است. به نظر می رسد که خودشان معتقد بودند که لازم بود مجوز استفاده از جاوا را مجبور کنیم، زیرا این موضوع مذاکرات مربوط به موافقت نامه های صدور مجوز با خورشید قبل از سال 2010 بود. اما این موافقتنامه ها پس از آنکه خورشید توسط اوراکل خریداری شد، شکست خورد. با این وجود، گوگل همچنان به استفاده از نسخه های "ادبی" کد ادامه داد، که به وضوح در دادگاه به نفع او نیست. من معتقد هستم که وکلای آنها در مورد ضعف موقعیت خود می دانستند، به طوری که آنها یک استراتژی حفاظت را بر اساس تقاضای مشروع برای عدم تکثیر کپی رایت برای رابط ها انتخاب کردند. آنها امیدوار بودند که این پرونده را به هزینه نمایندگی از رابط در قالب کد منبع و ارتباط آن با یک مفهوم فلسفی بیشتر برنده شوند.

"ماژول" یا "انتزاع" چیست؟

با کلمه "ماژول" در سر من یک تصویر پایتخت از پست وجود دارد. این تصویر به خوبی نشان دهنده اهمیت مرزهای ماژول و تعامل آن با محیط زیست است. رابط مکعب به سختی تعامل محیط خارجی را با محتویات مکعب محدود می کند. شما نمیتوانید از رابط دور شوید، بنابراین شما باید "قوانین بازی" را که بر آن تحمیل شده است، نگه دارید. در نهایت، هیچ چیز در داخل مکعب وجود ندارد، اما مهم نیست: مهم نیست محتوای آن، بلکه رابط کاربری.

مثال دیگر: ساختار غشای سلولی. اجزای مختلف تنها از طریق غشا تنها مواد لازم را فراهم می کنند و تنها زمانی که لازم است.

در چارچوب این مقاله، از اصطلاحات "ماژول ها" و "انتزاع" به عنوان مترادف استفاده خواهم کرد. البته، فرهنگ لغت توضیحی با من موافق نیست، و حتی در زبان های برنامه نویسی مختلف، این اصطلاحات معنی دیگری دارند. اما در این مورد، من فقط به این واقعیت علاقه مند هستم که هر دو این اشخاص را می توان به عنوان یک سیستم مشاهده کرد، همانطور که در این مقاله قابل درک است. یعنی انتزاع و ماژول ها می توانند از یک رابط و پیاده سازی تشکیل دهند.

شما می توانید یک تابع جداگانه از ماژول را در C، "ماژول" - در پایتون، کلاس یا بسته - در جاوا بخوانید. چیزی، اگر تنها آن رابط خارجی و پیاده سازی "پنهان" داشت. علاوه بر این، ممکن است یک نتیجه از قوانین زبان یا حتی یک تصمیم برنامه نویس وجود داشته باشد.

خشک کردن انتزاع

تا آنجا که من می دانم، ایده

انتزاع های شکمی، جوئل اسپولککی را مطرح کرد

. در مقاله خود نمونه های خوبی وجود دارد، اما من می خواهم خودم را به ارمغان بیاورم. در برنامه نویسی، مفهوم "نقشه ها" اغلب مواجه می شود: نشان دهنده ساختار داده ای است که شامل جفت کلید ها و مقادیر است. محدودیت مهم: کارت تضمین می کند که تمام کلید ها باید منحصر به فرد باشند. تلاش برای ضبط یک مقدار جدید برای یک کلید موجود موجب خطا می شود یا ارزش قبلی را بازنویسی می کند. خط پایین این است که کلیدها نباید تکرار شوند. اغلب برنامه نویسان نیاز به تمایل به مرتب کردن تمام این کلیدها دارند. و از آنجا که نقشه ها نمی توانند نظم خاصی از کلیدهای مرتب سازی را تضمین کنند، گاهی اوقات لازم است که تعجب کنید که چه نظم آنها پس از انفجار خواهد بود؟ این نتیجه این واقعیت است که رابط کارت اجازه نمی دهد تضمین های مرتب سازی. و اگر چه اعتقاد بر این است که مهم نیست، اما در عمل، من هنوز می خواهم مرتب سازی کنم. بنابراین برای مثال، برای تسهیل تأیید کلیدهای موجود، لازم است که یک سازمان داده کارآمد تر لازم باشد.

نیروهای مرتب شده بر اساس داده های مرتب شده می توانند نتیجه کاملا متفاوت را در مقایسه با داده های تصادفی غافلگیر کنند. فرض کنید شما باید حداقل مقدار را در لیست پیدا کنید: 

min = null؛ list = map.getMapkeys ()؛ برای (آیتم در لیست) {IF (min == null) {min = min = item} else (item <min) {min = min؛ / * این خط یک اشکال * /}} دارد

شاخه

دیگر اگر

اگر داده ها صعودی مرتب شوند، هرگز اعدام نخواهند شد. حتی اگر شما شروع به بررسی از یک مکان تصادفی لیست کنید، برنامه هرگز با این رشته برخورد نخواهد کرد. و این یک مشکل بزرگ است، زیرا اگر پیاده سازی کارت را تغییر دهید و کلیدهای مرتب نشده را بازگردانید، سپس کد شما به طور ناگهانی بر روی یک اشکال اشکال انجام می شود. و در آن زمان شما به طور کامل در مورد این کد و بمب پنهان در داخل آن را فراموش کرده اید.

من می خواهم تعریف خودم از نشت انتزاعی را ارائه دهم.

نشت انتزاعی (نشت انتزاعی) وضعیت زمانی است که پیاده سازی می تواند بر محیط زیست تاثیر بگذارد، زیرا توسط رابط کاربری ارائه نشده است.

با توجه به این تعریف،

تقریبا هر

انتزاع - تنفس. پس از همه، توضیحات در رابط تمام انواع تاثیر زیست محیطی تنها در سیستم های دقیق ترین ریاضی حس می شود. و به عنوان سیستم های فیزیکی، ممکن است به یاد داشته باشید

.

قضیه Gödel درباره ناقص بودن

ایده حفره های اکثر انتزاع غیر منطقی نیست. این به این معنی بود که Joel Spolski در "قانون خلاصه های نشتی":

"تمام انتزاع های غیر بی نظیر، یک تاج خاص هستند."

هنگامی که تمام انتزاع ها تکیه می کنند، چه باید بکنید؟ مشکلات تنها زمانی بوجود می آیند که بخشی از محیط زیست شروع به تکیه بر یکی از راه های پیش بینی نشده در معرض سیستم. این در مورد چنین نشتی است که همه می گویند.

این به عواقب گسترده ای منجر می شود نه تنها از نقطه نظر اشکالات عادی، بلکه در زمینه امنیت. با سیستم های فیزیکی که در آن نشت به محیط خارجی، به خطر انداختن امنیت، اصطلاح "

حمله کانال جانبی

" در ترکیب با بیانیه ای که تمام انتزاع سوراخ ها، ما را به نتیجه گیری می رساند:

هر پیاده سازی فیزیکی رمزنگاری به حملات شخص ثالث آسیب پذیر است.

با توجه به تمام موارد فوق، این ایده را می توان نه تنها به فیزیکی، بلکه همچنین بر روی پیاده سازی های تقلید گسترش داد.

ارزیابی و مقایسه رابط های

همانطور که قبلا در بالا دیده ایم، در رابط های C، مجموعه هایی مانند نوع مقدار بازگشت و تعداد پارامترهایی است که می توانند منتقل شوند. در مورد پایتون چیست؟ من از اصطلاح "رابط" مطابق با چارچوب مقاله استفاده می کنم، یعنی، به لحاظ وسیع تر نسبت به آنچه که آنها در کتاب های "رابط" در پایتون بنویسد. 

def add_numbers (a، b): بازگشت A + BPrint (add_numbers (3،1)) چاپ (add_numbers ("abc"، "def"))

در این زبان، ما باید انواع رابط تابع را تشکیل دهیم. این تابع تعریف و تماس را ساده می کند، زیرا لازم است اطلاعات کمتر را پردازش کند. از سوی دیگر، محدودیت هایی که در آن شما می توانید چک را برای جستجو برای خطاهای کمتر انجام دهید.

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

من فکر می کنم شما نیاز به چیزی دارید که در مورد ارزیابی و مقایسه ویژگی های مختلف رابط از نقطه نظر روش های انتقال اطلاعات صحبت کنید. شما می توانید هر دو رابط خاص و مجموعه ای از تمام رابط های را که می تواند در این زبان اجرا شود، ارزیابی کنید. بیایید مثال ما را به یاد بیاوریم

و ما تخمین می زنیم که چقدر اطلاعاتی را که می توانیم از طریق رابط عبور کنیم و از آن عبور کنیم، با کمک نشت انتزاعی. از طریق رابط
با رفتن به اطراف رابط شرح ویژگی ها با رفتن به اطراف رابط شرح ویژگی ها
تعداد دولت های احتمالی نوع پارامتر 1. 1 (Unsigned int) حالت متغیر جهانی
(تعداد متغیرهای جهانی) * (تعداد ایالت متغیرهای جهانی) نوع پارامتر 1. نوع پارامتر 2 سیستم فایل
تعداد وضعیت وضعیت سیستم دولتی نوع پارامتر 1. نوع ارزش بازگشتی پردازشگر زمان استفاده
بدون محدودیت پارامتر مقدار 1. 2 ^ (شمارش در int unsigned) ایالت کوچی
تعداد ایالت ها پارامتر مقدار 1. پارامتر مقدار 2. بسیاری دیگر ...
... پارامتر مقدار 1.

ارزش بازگشتی

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

و تعدادی از چیزهایی که می توانند با آن ارتباط برقرار کنند وجود دارد

از طریق رابط پایتون انتقال اطلاعات از طریق رابط پایتون
با رفتن به اطراف رابط شرح ویژگی ها با رفتن به اطراف رابط شرح ویژگی ها
تعداد دولت های احتمالی انتقال اطلاعات دور زدن رابط پایتون 1 (Unsigned int) سیستم فایل
(تعداد متغیرهای جهانی) * (تعداد ایالت متغیرهای جهانی) انتقال اطلاعات دور زدن رابط پایتون نوع پارامتر 2 پردازشگر زمان استفاده
تعداد وضعیت وضعیت سیستم دولتی انتقال اطلاعات دور زدن رابط پایتون نوع ارزش بازگشتی ایالت کوچی
بدون محدودیت انتقال اطلاعات دور زدن رابط پایتون 2 ^ (شمارش در int unsigned) بسیاری دیگر ...
تعداد ایالت ها انتقال اطلاعات دور زدن رابط پایتون پارامتر مقدار 2. حالت متغیر جهانی
... انتقال اطلاعات دور زدن رابط پایتون

عملا بی نهایت

و در حال حاضر نگاهی به تعداد نوع رابط است که ما می توانیم در Haskell توضیح دهیم: 

add_numbers :: int> int -> intadd_numbers 3 4 = 7main = print (add_numbers 3 4)

همه اینها استدلال فلسفی کنجکاو هستند، اما چگونه آنها مربوط به نوشتن نرم افزار هستند؟ خوب، بیایید با این واقعیت شروع کنیم که اینترفیس ها در برنامه نویسی شما را از همه طرف ها محاصره می کنند، حتی اگر به آن توجه نکنید. به عنوان مثال، اگر شما برنامه ریزی در جاوا هستید، به صراحت به طور صریح، رابط را بسته به هدف آنها نامگذاری کنید. و به زبان های دیگر، آنها نیز حضور دارند. بیایید نمونه ای از عملکرد رابط را در نظر بگیریم

با توجه به این کد، رابط

می توانید اطلاعات زیر را دریافت کنید: انتقال اطلاعات از طریق رابط Haskell
با رفتن به اطراف رابط شرح ویژگی ها با رفتن به اطراف رابط شرح ویژگی ها
تعداد دولت های احتمالی انتقال اطلاعات به وسیله رابط Haskell نوع ارزش بازگشتی پردازشگر زمان استفاده
(تعداد متغیرهای جهانی) * (تعداد ایالت متغیرهای جهانی) انتقال اطلاعات به وسیله رابط Haskell 1 (int) پردازشگر زمان استفاده
تعداد وضعیت وضعیت سیستم دولتی انتقال اطلاعات به وسیله رابط Haskell اثر بر روی حافظه پردازنده / حافظه بسیاری دیگر ...
بدون محدودیت دیگر ...
تعداد ایالت ها 1 (مقدار 3)
... 1 (مقدار 4)

حداقل 2 ^ 30 [1]

  • برای یک رابط خاص در زبان انتخاب شده خود، می توانید تعداد روش های منحصر به فرد برای انتقال اطلاعات را ارزیابی کنید:
  • از طریق رابط؛

با رفتن به اطراف رابط از طریق نشت انتزاعی.

  • شما همچنین می توانید به موارد زیر توجه کنید:
  • چند محدودیت که شما می توانید در این زبان از نقطه نظر حداقل و حداکثر تعداد اطلاعات منتقل شده از طریق رابط استفاده کنید؛

چه ابزارهایی این زبان را برای جلوگیری از تعامل به دور زدن رابط ارائه می دهند.

برنامه ها
اجازه دهید ما را به این ترتیب تجزیه و تحلیل رابط کاربر گرافیکی که در آن ممکن است تغییر پوشه ها: انتقال اطلاعات از طریق GUI
با رفتن به اطراف رابط شرح ویژگی ها با رفتن به اطراف رابط شرح ویژگی ها
انتقال اطلاعات دور زدن GUI روی پوشه 1 کلیک کنید تعداد پیکسل بر روی صفحه نمایش نگهداری شده توسط پوشه 1 * تعداد کلیک ها پردازشگر زمان استفاده
امکانات پنهان UI روی پوشه 2 کلیک کنید تعداد پیکسل ها بر روی صفحه نمایش شده توسط پوشه 2 * تعداد کلیک ها ترکیبی از تماس های سریع غیر استاندارد
تعداد پیکسل بر روی صفحه نمایش توسط دکمه 2 راهنمایی مکان نما به پوشه 1 تعداد پیکسل ها روی صفحه نمایش شده توسط پوشه 1 بسیاری دیگر ...
سایر قابلیت های UI غیر منتظره راهنمایی مکان نما به پوشه 2
تعداد پیکسل ها بر روی صفحه نمایش شده توسط پوشه 2 زمان بین راهنمایی و کلیک
بی نهایت رویدادهای صفحه کلید استاندارد
تعداد ترکیبات کلیدی استاندارد منطقه صفحه نمایش توسط GUI اشغال شده است

تعداد پیکسل های مورد استفاده برای نمایش GUI

و در حال حاضر همان وظیفه تغییر پوشه را با استفاده از خط فرمان و

:

اجازه دهید ما را به این ترتیب تجزیه و تحلیل رابط کاربر گرافیکی که در آن ممکن است تغییر پوشه ها: انتقال اطلاعات از طریق GUI
با رفتن به اطراف رابط شرح ویژگی ها با رفتن به اطراف رابط شرح ویژگی ها
سی دی پردازشگر زمان استفاده تعداد نام پوشه هایی که می توانید شماره گیری کنید پردازشگر زمان استفاده

محیط متغیر

در دو جداول قبلی، من داده ها را شامل نمی شود مانند تعداد نویز در سیگنال. اگر پیچیدگی تکرار همان دنباله را مقایسه کنید، هنگامی که کلید ها را فشار دهید (یکی پس از دیگری) و حرکت ماوس (پیکسل پشت پیکسل)، واضح است که در مورد دوم، خطاها خیلی بیشتر هستند. در رابط های گرافیکی، این امر با ساخت معانی سختگیرانه کمتر جبران می شود. تصور کنید اگر روی دکمه های "OK" و "لغو" موجود در کلیک های منطقه تنها 1 پیکسل بود.

اگر تغییرات در سهم اشتباهات در کاربران با معلولیت های فیزیکی را ارزیابی کنید، ممکن است تجزیه و تحلیل را پیچیده تر کنید.

  • بنابراین، ما یکی از راه های ممکن برای ارزیابی و مقایسه رابط را در نظر گرفتیم. بر اساس نمونه های فوق و تجربه خود، اجازه دهید چندین بار برداشت کنم:
  • مردم رابط های را ترجیح می دهند که هنگام دریافت اطلاعات بیش از حد سخت نیستند، به خصوص اگر رابط کاربری نا آشنا باشد.
  • رابط های بیش از حد سخت تر اغلب به اشتباه استفاده می شود.
  • رابط های جامع میزبانی مقادیر زیادی از اطلاعات به نظر می رسد قدرتمند، اما اغلب به اشتباه استفاده می شود.
  • اگر تعامل خسته کننده شود، مردم سعی می کنند اطلاعات را به دور زدن رابط انتقال دهند.

هنگام تعامل، دور زدن رابط، از طریق نشت انتزاعی، ظهور شگفتی های ناخوشایند بسیار احتمال دارد.

خشک کردن و رابط های محدود

من چندین مشاهدات را بر اساس تجزیه و تحلیل از بخش قبلی توصیف خواهم کرد. اما اول من چند تعاریف را ارائه خواهم داد:

رابط نشت (رابط نشت) یک رابط است که در طی هر گونه تعاملات بین سیستم و محیط زیست نادیده گرفته می شود.

رابط کاربری محدود (رابط خاص) یک رابط با تعداد کمی از ورودی ها و خروجی های احتمالی است.

یک مثال خوب از یک رابط محدود -

توابع مشخص شده قطعه

فقط برای تعداد کمی از داده های ورودی تعریف شده است.

اگر شما می توانید به طور منطقی رابط های "سوراخ" یا "محدودیت" را ارزیابی کنید، منطقی است که محدوده را مشخص کنیم، در یک انتهای آن، رابط های بسیار محدود و غیر فعال خواهد بود، و از سوی دیگر - نامحدود و نشتی.

شما احتمالا کسی را به سمت چپ یا راست در مقیاس حرکت می دهید، اما مهمتر از همه، این ایده را گرفتید. شما حتی می توانید به دو مقیاس جداگانه ضربه بزنید: با توجه به درجه سوراخ ها و سختی ها. اگر چه به طور کلی این دو مفهوم به خوبی همبستگی دارند.

همبستگی بعدی که من می خواهم ارائه دهم از تجربه من مشتق شده است. در لبه سمت چپ مقیاس "خطا" کمتر رایج است، و معمولا به دلیل خرابی ها بوجود می آیند

اعتبار سنجی

.

. در لبه سمت راست مقیاس خطا اغلب اتفاق می افتد، و اغلب دلیل آنها در خرابی ها قرار دارد

تایید

پیچیدگی آستانه بدهی فنی

من با این بیانیه شروع خواهم کرد:

بخش اصلی بدهی های فنی در این پروژه یا به دلیل کمک غیرقابل قبول در مورد نشت انتزاع، یا به علت رابط های بسیار باور نکردنی، که به شدت پیش بینی پیامدهای آن را پیچیده می کند، مطرح می شود.

در ابتدا، این پروژه شامل یک یا دو ماژول است و برای بررسی یک توافق رابط کاربری خوب، شما باید مقدار کار را انجام دهید (1). اگر رابط کاربری شما بد باشد، حجم بدهی های فنی نیز برابر با (1) خواهد بود، بنابراین شما مجبور نیستید زمان زیادی را صرف قرارداد رابط کاربری کنید. اما با افزایش خطی در میزان ماژول ها، حجم اوراق بهادار بین منافذ می تواند O (n ^ 2) را به دست آورد. بنابراین، با یک رابط بد، اگر هر ماژول با تمام ماژول های دیگر تعامل داشته باشد، تعداد تجدید نظر به رابط در بدترین حالت، متناسب با n ^ 2 خواهد بود.

همانطور که از نمودارها دیده می شود، در ابتدا در ایجاد یک رابط کاربری به خوبی فکر می شود. اما این پیروزی به دلیل مشکلات روزافزون مرتبط با تعامل بین ماژول به سرعت از دست رفته است. مقدار کار به دلیل این افزایش به درجه کمیت ماژول ها، در حالی که با یک رابط کاربری خوب، به طور خطی رشد می کند. بدترین سناریو - زمانی که هر ماژول با هر ماژول ارتباط برقرار می کند، مشکلات بیشتری در روند Hendeshka، از اینجا و ساقه وجود دارد.

به طور معمول، سطح تعامل بین متناوب، افزایش می یابد از O (n ^ 2)، اما قطعا سریعتر از حدود (n) است. همچنین یک عامل وجود دارد که تغییر ابتدای رشد سریع در آینده را تغییر می دهد: این حافظه انسانی است. حتی زمانی که 20 ماژول در پروژه شما وجود دارد، احتمالا به یاد داشته باشید که هر یک از آنها را می سازد. بنابراین، از تمام قراردادها شما فقط نیاز به نام مهره های توابع و موافقت نامه های تئاتری دارید. اما به محض این که پروژه بسیار بزرگ می شود، بسیاری از جزئیات بیشتر فراموش شده اند، یا زمانی که افراد جدید به پروژه می آیند - و رشد قدرتمند هزینه های کار آغاز می شود.

  • چرا هنوز از خط فرمان استفاده می کنید؟
  • شما پاسخ های مختلفی از مردم را به این سوال دریافت خواهید کرد، هیچ کدام از آنها به من مهم ترین چیز را می پردازند:
  • خط فرمان انعطاف پذیر است و فرصت های زیادی را ارائه می دهد.

این منابع کمتری مصرف می کند.

این به شما اجازه می دهد تا بهتر درک کنید که چگونه همه چیز کار می کند.

مهمترین چیز این است که چرا ما هنوز از خط فرمان استفاده می کنیم، این است

اتوماسیون!

به سختی ممکن است مزایای استفاده از فرآیندهای خودکار را بیش از حد ارزیابی کنید. اگر من نیاز به اجرای خوشه به 100 سرور، من به هر یک از آنها به صورت جداگانه و دستی نصب نمی شود، با کلیک بر روی شمع دکمه ها در GUI بی شماری. حتی اگر شما نیاز به خودکار سازی Clichan Process در GUI، شما نیاز به یک فایل دیگر که در آن اطلاعات ذخیره خواهد شد در کجا و چگونه کلیک کنید. چیزی شبیه یک فایل انعطاف پذیر ... تیم ها.

اگر چه ما می توانیم اتوماسیون را از طریق کلیک بر روی کلیک و بر روی صفحه نمایش پیاده سازی کنیم، ما نباید فراموش کنیم که این نوع تعامل با دستگاه برای افراد اختراع شده است. این به معنای استفاده از یک رابط غیر سختگیرانه است که نیاز به دقت بالا ندارد. بنابراین، هنگامی که پنجره به طور ناگهانی از موقعیت خود حرکت می کند یا فونت سیستم تغییر خواهد کرد، به طور خودکار استفاده می شود. با GUI، متغیرهای بیش از حد متصل هستند. و خط فرمان اجازه می دهد تا شما را به دقت بسیار دقیق، شما را از طریق رابط بسیار دقیق تعامل. بنابراین، بسیاری از مردم او را دوست ندارند، بر خلاف برنامه های کامپیوتری.

البته، شرایطی وجود دارد که دقت پایین تعامل GUI خوب است. به عنوان مثال، هنگام ایجاد نقاشی های دیجیتال، شما نیازی به نگرانی در مورد قرار دادن و رنگ هر پیکسل ندارید. نکته اصلی این است که

چیزی

ویژه برای هر پیکسل. بنابراین، نویز منتقل شده توسط دست حرکت مکان نما، اطلاعات مهمی در محصول نهایی می شود.

انتخاب زبان مناسب

پس از بخش در مورد پیچیدگی آستانه ای از بدهی های فنی، ممکن است فکر کنید که هر پروژه باید در یک زبان با شرایط بسیار سختگیرانه قراردادهای رابط، مانند Haskell یا جاوا نوشته شود. اما این دقیقا همان چیزی نیست که من می خواستم انتقال دهم. پاسخ به سوال بعدی می تواند به شما کمک کند انتخاب مناسب را انتخاب کنید.

چقدر احتمال نیاز برای پروژه شما را تغییر دهید؟

در ابتدای مورد جدید، پاسخ قطعا "به احتمال زیاد" خواهد بود، به خصوص اگر یک محصول کوچک ایجاد شود، و حتی با ابهام چشم انداز آن در بازار. اگر الزامات به وضوح به عنوان مثال، به عنوان مثال، در صورت ایجاد یک کامپایلر یا توسعه یک پروژه بر اساس استانداردهای بین المللی، فرمول، پاسخ قطعا "به احتمال زیاد" نیست.

اگر به احتمال زیاد پاسخ دادید، از یک زبان استفاده کنید که به شما امکان می دهد زمان کمتری را در هنگام تعیین قراردادهای رابط کاربری از دست بدهید: آنها قطعا در صورت تغییر در الزامات، علیه شما کار خواهند کرد. اما وظیفه اصلی در اینجا این نیست که اجرای ایده آل الزامات را بدست آورید، بلکه الزامات ایده آل که به شما امکان می دهد

برای شروع

ایجاد پیاده سازی نهایی یک استثنا ممکن است وضعیتی باشد که MVP شما یک سیستم بزرگ با صدها ماژول است. اگر تعداد زیادی از مردم در این پروژه شرکت داشته باشند، یک رابط کاربری خوب به سادگی لازم است تا آنها بتوانند به یکدیگر بروند.

اگر شما پاسخ داد "به احتمال زیاد"، سپس از یک زبان با قراردادهای بسیار دقیق استفاده کنید. ابتدا باید بیشتر کار کنید، اما پس از آن، معرفی فرصت های جدید نیاز به تلاش کمتری دارد. تنها استثنا ممکن است یک وضعیت باشد اگر شما برخی از محصولات کوچک را بنویسید (چند صد رشته).

بعضی اوقات چند نسخه در مورد آنچه توییتر شروع به ایجاد روی روبی در ریل ها شد، شکسته شد و سپس دلیل آن برای مقیاس سازی پروژه بود. بعدا توییتر به Scala ترجمه شد. کسی می تواند فرض کند که توسعه دهندگان اشتباه کرده اند و باید بلافاصله Scala را انتخاب کنند. من اینطور فکر نمی کنم. در قلب توییتر یک ایده بسیار ساده است و در شرایط تعداد زیادی از رقبای آنها نیاز به برنده شدن در موقعیت غالب در بازار است. آنها با وجود هزینه ها نیاز به رشد داشتند. چرخه های توسعه ویژگی های جدید باید سریعتر از حد ممکن عبور داشته باشند، زیرا اجازه می دهد تا آن را در کوتاه ترین زمان ممکن برای درک دقیقا چه چیزی نیاز به کاربران، چه محصولی که آنها می خواهند به عنوان یک نتیجه برای دریافت. مشکلات پوسته پوسته شدن نشانه ای از شکست نیست، اما موفقیت. چشم انداز توییتر به عنوان یک محصول به پایان رسید، و تنها برای تحقق آن باقی مانده است. از نقطه نظر توسعه دهندگان، این فقط یک نیروانا است، هر کس رویایی در مورد چنین چیزی است، اما تعداد کمی از مردم در چنین شرایطی کار می کنند: "این گه را از ابتدا بر روی زبان مورد علاقه خود قرار دهید، زیرا فقط برای شما مناسب است، زیرا فقط برای شما مناسب است در آینده، با او کار آسان تر بود. " چیزی بسیار ساده تر است که چیزی را از ابتدا بازنویسی کنید، داشتن یک پیاده سازی ضعیف قبل از چشمان ما از تلاش برای اضافه کردن یک نگاه محصول، که به شرکت اجازه می دهد تا خاموش شود. متأسفانه، اکثریت شرکت کنندگان در بازار تنها با اجتناب از هزینه های غیر ضروری برای ایجاد از ابتدا و صرف هزینه های زیادی و زمان زیادی را صرف می کنند که در اصل مقیاس غیرممکن بود.

چرا پایتون بسیار محبوب است؟

در بخش بر روی سوراخ ها و رابط های سختگیرانه، من در مورد روش طبقه بندی رابط ها، بسته به تمایل آنها به نشت انتزاع صحبت کردم، و همچنین اینکه چقدر سختگیرانه می تواند تعاریف رابط باشد. و من این واقعیت را ذکر کردم که رابط های "دوستانه" و "تولیدی" بیشتر مستعد ابتلا به نشت نسبت به بخش دیگری از طیف رابط است.

من معتقدم که محبوبیت پایتون از این واقعیت است که این یک زبان مقدماتی عالی است که قراردادهای بسیار ساده را فراهم می کند. به همین دلیل، با افزایش پروژه در پایتون، آن را بیشتر و بیشتر سخت می شود.

پایتون در جامعه علمی و در میان آزمایش عاشقان با تجزیه و تحلیل عددی بسیار محبوب است. بسیار ماهیت آزمایش نیاز به بهبود مداوم در محصول ایجاد شده، و رابط های سخت را کاهش می دهد.

چرا نرم افزار شرکت معمولا در جاوا / C ++ نوشت؟

در بخش در مورد سوراخ ها و رابط های سختگیرانه، من در مورد سازش های مرتبط با انواع مختلف رابط صحبت کردم. بر خلاف پایتون یا روبی، جاوا و C ++ بیشتر به بخش شدید طیف بیشتر هستند. بله، نشت ها ممکن است نشت کنند و زبان های دقیق تر (همان Haskell) وجود دارد، اما جاوا و C ++ از لحاظ مقیاس پذیری، دوستی و اشعار بیشتر متعادل هستند. علاوه بر این، این دو زبان به شما اجازه می دهد انعطاف پذیری را برای کنترل لباسی از رابط های بسته به موافقتنامه های پروژه. به عنوان مثال، ایجاد متغیرها یا توابع با خصوصی، عمومی یا محافظت شده.

چگونه می توان گوشه ها را قطع کرد

اگر می خواهید چیزی را از این مقاله به دست آورید، لطفا: هنگامی که شما نیاز به کاهش گوشه ها در پروژه دارید، آن را در داخل انجام دهید

حراجی

و در اطراف ب

  • خیلی خوب
  • رابط. حتی اگر پیاده سازی خیلی خوب نیست و مشکلات آن به سایر قسمت های سیستم جریان می یابد، این یک مشکل رابط کاربری بد است! به طوری که هیچ سوء تفاهم وجود ندارد، اجازه دهید لیستی از آنچه که من در زیر رابط های معنی می دهم:
  • نمونه های توابع توابع.
  • "رابط" جاوا.
  • روش های کلاس های عمومی.
  • متغیرهای اجزای عمومی
  • فایل های هدر (.h) در C / C ++.
  • نقاط انتهایی API استراحت
  • مسیریابی URL
  • جنبه های عمومی "مدل" یا "بسته ها".

ساختار پایگاه داده منطق (DDL).

و خیلی بیشتر.

نتیجه

همانطور که می بینید، مفهوم رابط بسیار مهم است و تأثیر بسیار زیادی بر توسعه پروژه در زمینه حفاظت قانونی، بهره وری و تعدادی از روابط فلسفی با سایر جنبه های ساختار سیستم دارد. از برنامهنویسان دیگر بپرسید که آنها در مورد رابط ها فکر می کنند و به همه انواع چیزها گوش می دهند.

رابط کاربر ابزار تعامل بین انسان ها و کامپیوتر است. صحبت با کلمات ساده، رابط بخش خارجی از برنامه یا دستگاهی است که کاربر آن را کار می کند. رابط کلمه - کارتریج با رابط انگلیسی، یعنی "لینک مرزی".

اغلب، تحت رابط کلمه، رابط کاربر را نشان می دهد. به عنوان مثال، آنها می گویند: "این فروشگاه آنلاین دارای یک رابط ناراحت کننده و گیج کننده است." این به این معنی است که فروشگاه ناخوشایند برای تعامل است. به عنوان مثال، پیدا کردن کالاهای لازم دشوار است، روشن نیست که چگونه سفارش را قرار دهید، سایت اطلاعات قبلا وارد شده و غیره را ذخیره نمی کند

نمونه هایی از استفاده:

بسیاری از کاربران می خواهند رابط قدیمی را "Vkontakte" بازگردانند، آنها جدید را دوست ندارند.

این برنامه دارای یک رابط بصری است - بلافاصله پاک کردن جایی که به فشار دادن و آنچه که منجر به آن خواهد شد.

رابط ویندوز بسیار پیچیده است: کاربران بی تجربه در یک شمع از تنظیمات اشتباه گرفته می شوند.

رابط وب یک صفحه در اینترنت است که به کاربر اجازه می دهد تا با برخی از خدمات یا دستگاه به طور مستقیم از طریق مرورگر ارتباط برقرار کند. به عنوان مثال، با استفاده از رابط وب، شما می توانید از بانک آنلاین استفاده کنید: به صفحه بانک بروید، ورود و رمز عبور را وارد کنید، سپس پول بین حساب ها را ترجمه کنید، هزینه های خدمات و غیره را ترجمه کنید.

رابط سخت افزار و نرم افزار. رابط USB و API چیست؟ علاوه بر رابط کاربر، یک رابط نرم افزاری (تعامل برنامه ها با یکدیگر) و رابط سخت افزاری (روش های تعامل دستگاه های فیزیکی، آهن ") وجود دارد. هنگامی که آنها در مورد رابط سخت افزاری می گویند، معمولا به معنی اتصالات است که از طریق آن دستگاه ها می توانند به یکدیگر متصل شوند. به عنوان مثال، "اتصال از طریق رابط USB" به معنی اتصال دستگاه ها از طریق

تایر متوالی جهانی

در نظر گرفته شده برای اتصال تجهیزات جانبی. به عنوان مثال، از طریق USB، می توانید یک صفحه کلید، ماوس، دوربین یا گوشی هوشمند را به یک کامپیوتر وصل کنید.

رابط سخت افزاری - کابل USB

رابط برنامه یک راه برای تعامل برنامه ها در میان خود است. به عنوان مثال، API (رابط برنامه نویسی برنامه، رابط برنامه نویسی برنامه) مجموعه ای از دستورات است که به برنامه ها اجازه می دهد تا به طور خودکار داده ها را بدون مشارکت مردم مبادله کنند. یک برنامه API یک درخواست ارسال می کند، یکی دیگر به او پاسخ می دهد.

به عنوان مثال، در سایت خبری نشان می دهد نرخ ارز که در زمان واقعی تغییر می کند. این بدان معنا نیست که ویرایشگر سایت هر بار به صورت دستی اعداد را در صفحه تغییر می دهد. سایت خبری خود یک درخواست API را به یک سرور با مبادله ارز ارسال می کند و اعداد لازم را از آنجا دریافت می کند.

انواع رابط کاربر گرافیک، متن و دیگران

رابط متن یک راه برای برقراری ارتباط شخصی با کامپیوتر با استفاده از چاپ فرمان است. به عنوان مثال، در سیستم عامل MS-DOS، رابط کاربری متن بود - کاربر دستورات لازم را روی صفحه کلید شماره گیری می کرد و دستگاه آنها را انجام داد.

رابط متن MS-DOS - خط فرمان

مشکل رابط متن این است که کاربر باید دستورات لازم را بداند و هر بار به صورت دستی آنها را بدون خطا تایپ کنید. بخشی از این مشکل پوسته MS-DOS را حذف کرد - به عنوان مثال، فرمانده نورتون.

فرمانده Norton - مدیر فایل MS-DOS. شما نه تنها می توانید دستورات را بر روی صفحه کلید تایپ کنید، اما با استفاده از میانبرهای صفحه کلید کار کنید.

به زودی به نظر می رسد رابط های گرافیکی که در آن کاربر با اشیاء بصری ارتباط برقرار می کند: دکمه ها، آیکون ها، تصاویر بر روی صفحه نمایش. سیستم عامل ویندوز از یک رابط گرافیکی استفاده می کند: کاربر کلیک بر روی آیکون ها بر روی آیکون ها - Pictograms تصاویر و برنامه ها را نشان می دهد.

رابط گرافیکی ویندوز 3.11

رابط کاربری مواد راهی برای ارتباط با یک کامپیوتر با استفاده از ساختارهای ملموس است. به عنوان مثال، یک موس کامپیوتر یا جوی استیک یک رابط مادی است. حرکت ماوس بر روی میز، ما به طور همزمان فلش مکان نما را روی صفحه حرکت می دهیم.

رابط مواد - موس کامپیوتر. عکس: سپرده های سپرده گذاری

رابط صوتی کنترل با استفاده از دستورات گفتار است. امروز صدای انسان حتی تلفن های همراه را می داند. به عنوان مثال، سیری از اپل، دستیار صوتی گوگل، "آلیس" از Yandex

رابط صوتی - اپل سیری. سیری کاهش تفسیر سخنرانی و رابط شناخت (تشخیص گفتار و رابط تفسیر) است. عکس: سپرده های سپرده گذاری

یک رابط ابزار اجازه می دهد تا شما را به دستورات، ساخت حرکات با انگشت خود، دست، موس کامپیوتر، کنترل ویژه، و غیره

رابط نصب - نینتندو Wii Game Console، که کنترل کننده های آن به حرکت کاربر پاسخ می دهند.

رابط تاکتیکی به کاربر اجازه می دهد تا احساسات لمسی (فشار، ارتعاش، و غیره) را تجربه کند و با کمک آنها ارتباط برقرار کند.

دستکش های واقعیت مجازی - یک مثال از یک رابط لمسی. عکس: ناسا

رابط عصبی اجازه می دهد تا شما را به انتقال دستورات با الکترود به مغز منتقل کنید. رابط های عصبی دو طرفه نه تنها می تواند اطلاعات را از مغز، بلکه همچنین آن را به مغز ارسال کند - به عنوان مثال، از طریق شبکیه چشم.

جین ناومن - کور، قادر به "دیدن" با یک پروتز بصری عصبی است. دوربین تصویر را ضبط می کند و نسخه پردازش شده را در پوست بصری مغز از طریق الکترود ارسال می کند.

کیان ریوز در فیلم "ماتریس" (1999). قهرمانان از neurointerface لذت می برند تا به واقعیت مجازی برسند - ماتریس.

CybeBeis - رابط کاربری در شکل واقعیت مجازی. قاب از فیلم فوق العاده "جانی Mnemonic" (1995)

به شما خوش آمدید، دوستان! کلمه "رابط" بر روی شایعه صاحبان رایانه های شخصی و تلفن ها، اما همه آنها را درک نمی کنند. ما برای قتلس صحبت خواهیم کرد، رابط کاربری در کامپیوتر و گوشی های هوشمند، چرا مورد نیاز است، چه اتفاقی می افتد، چه اتفاقی می افتد تا چگونه از آن به درستی استفاده کنید. دیدن این کلمه در سایت، در توضیحات و یا در دستورالعمل، تازه وارد آن را درک آنچه ما در مورد صحبت می کنیم و چه باید بکنیم.

موج

رابط کاربری لازم برای آن چیست؟

ترجمه شده از رابط انگلیسی - تعامل. نحوه نوشتن در روسیه: رابط (گاهی اوقات انباشت نوشته شده است - نادرست است). تعریف عادی یک مرز مشترک بین دو اشیاء کاربردی است. به عنوان مثال، یک مرد پشت چرخ ماشین خود را می گیرد، اهرم گیربکس را تغییر می دهد - این تعامل با سیستم رابط ماشین است. گیربکس به عنوان هادی بین راننده و ماشین.

  • در علم کامپیوتر، معنای کلمه عمیق تر ابزار تعامل کاربر با بازی، برنامه یا سیستم عامل، روش های کنترل عملکرد دستگاه محاسبات است. با تشکر از رابط، یک فرد هر برنامه یا ویرایشگر متن را پیدا خواهد کرد. اگر ما با ویرایشگر گرافیک رنگی کار کنیم، آسان است که دیگر برنامه های مشابه را به کار ببریم، زیرا آنها یک ساختار مشابه دارند.
  • وظایف رابط اصلی:
  • اطلاعات ورودی و خروجی؛
  • نرم افزار مدیریت؛

تبادل اطلاعات از طریق حامل های خارجی؛

دستورات

پانل عقب دستگاه سیستم PC نیز یک رابط است که به شما امکان اتصال دستگاه های دیگر را می دهد.

کاربر شامل یک کامپیوتر است و آیکون ها را در مقابل او می بیند: "کامپیوتر من"، "برچسب ها"، "عکس"، و غیره - تمام عناصر رابط کاربری.

انواع رابط ها

رابط را می توان به طور خلاصه به عنوان پاکسازی توصیف کرد: چه شخصی در مقابل او، با استفاده از یک کامپیوتر یا تلفن می بیند. اگر چه در واقع، این یک ساختار سیستم است، زیرا با فشار دادن دکمه ها با کلیک کردن بر روی آیتم منو، کاربر به جایی که نیاز دارد: دوربین، گالری، مخاطبین، پیام ها. هدف آن یک استفاده موثر و دلپذیر از یک دستگاه یا سایت الکترونیکی است.

ویدئو

  • انواع مختلفی از رابط وجود دارد، که هر کدام ما بیشتر خواهیم گفت.
  • رایج ترین:
  • خط فرمان؛
  • رابط گرافیک و متن؛
  • با نوع مدیریت (حرکات، صدا، لمسی و عصبی)؛
  • برنامه؛
  • سخت افزار؛
  • سخت افزار نرم افزار؛
  • کاربر؛
  • وب؛
  • بازی؛

مواد؛

خط فرمان

در گوشی ها

کلمات ساده رابط چیست؟

اگر شما نیاز به نام و فهرست انواع رابط های مدرن دارید، این اطلاعات کمک می کند تا همه چیز را به درستی تنظیم کنید و ارائه خوبی داشته باشید.

این یک نرم افزار جداگانه ای است که بخشی از ماست و اطمینان از رابطه بین کاربر و سیستم عامل است. با تشکر از خط فرمان، شما می توانید دستورات کامپیوتر را انجام دهید. این ارتباط با دستگاه در زبان آن است.

از کاستی ها - شما باید دستورات را بدانید، هر بار که آنها را بدون خطا شماره گیری می کنید. مزیت این است که توانایی ورود دستورات بدون مشارکت ساختار گرافیکی، که فرصت های بیشتری را فراهم می کند.

خط فرمان (رابط کنسول) در پوسته خود شروع می شود، به عنوان مثال، در BIOS. مسیر اصلی محل آن: C: \ Windows \ System32 \ CMD.exe. Yowser معمولی نیازی به عمدی نیست که خط فرمان واقع شده باشد و چگونه کار می کند و برای حرفه ای ها این ابزار اصلی است، زیرا آن را به کامپیوتر با ویروس ها، ترمیم ویندوز و در موارد دیگر کمک می کند.

یک روش ساده برای پیدا کردن خط فرمان: در عین حال کلید های Win + R را فشار دهید، در پنجره CMD که ظاهر می شود.

رابط فرمان

گرافیک و متن

  • گرافیک (Eng. رابط کاربری گرافیکی، GUI) در تمام عملیات، در اکثر برنامه های کاربردی استفاده می شود. اغلب آن WIMP نامیده می شود - این مختصر از حروف اول WordWow، آیکون، منو، دستگاه اشاره (دستکاری دستگاه) است.
  • عناصر اصلی:
  • منو؛

لیست ها؛

Pictograms (نقشه ها، طرح ها).

در ویندوز ویندوز، کاربر بر روی آیکون ها کلیک می کند، Pictograms که برنامه ها و فایل ها را نشان می دهد یک رابط گرافیکی است که فرصت های فراوانی را برای هر کاربر فراهم می کند. بدون نیاز به وارد کردن هر دستورات. برای تعامل راحت، ماوس کامپیوتر استفاده می شود.

شما باید گرافیک را از رابط بصری تشخیص دهید، که سیستم را به عنوان مجموعه ای از تصاویر بصری نشان می دهد - این می تواند یک آیکون یا کتیبه واقع در یک مکان خاص صفحه نمایش باشد. ساختار بصری لزوما از نقشه های گرافیکی استفاده نمی کند. ساختار بصری می تواند گرافیک و متن باشد.

متن استفاده می کند هنگام ورود و ارائه اطلاعات، مجموعه ای از حروف / اعداد، شخصیت های پوسیدوگرافی. این از تمام عناصر طراحی گرافیکی پایه استفاده می کند: کادرهای، دکمه ها لیست ها را کاهش می دهند و غیره متفاوت با منابع فنی مورد نیاز کوچک، داده های با سرعت بالا. رابط متن یک نوع کاربر است، در حالی که خط فرمان بخشی از متن است.

در ساده ترین مورد، رابط متن از یک خط فرمان استفاده می کند، اما بسیاری از برنامه های با عناصر تعاملی طراحی دوستانه تر و قابل فهم تر را ایجاد می کنند که به راحتی به گرافیک نزدیک می شود.

برخی از برنامه ها از سیستم پنجره توسعه یافته پشتیبانی می کنند، مانند Turbo Vision، D-Flat، CScape، بسیاری از موضوعات طراحی متغیر (DOS Navigator)، و همچنین توانایی استفاده از اقلام تعاملی مختلف تعاملی (جوی استیک، ماوس).

حاملگی، صدا، لمسی و عصبی

  • کاربر کامپیوتر را مدیریت می کند و دستورات را با روش های مختلف ارائه می دهد: حرکات، صدا، و غیره
  • بنابراین، نوع کنترل متمایز است:
  • رابط سالانه عناصر تماس عبارتند از قرص های گرافیکی، صفحه نمایش لمسی و سایر فن آوری هایی که به حرکات انگشتان واکنش نشان می دهند؛
  • رابط صوتی نشان دهنده مدیریت سخنرانی است. مثالها عبارتند از: Siri از اپل، آلیس از Yandex؛

لمسی زمانی که تعامل مبتنی بر احساسات لمسی است، به دست آوردن بازخورد حساس (ارتعاش، فشار)؛

نورون - انتقال دستورات از طریق الکترودهای به مغز منتقل می شود. اطلاعات را می توان از مغز گرفته شده و به عنوان مثال، از طریق شبکیه چشم منتقل می شود. در عمل، neurointerface قادر به سهولت زندگی بیماران فلج شده است که مغز آنها به خوبی کار می کند. Neurointerface اجازه می دهد تا آنها را به انجام اقدامات خاص، خواندن نیت خود را با کمک الکترود که به مغز متصل است.

رابط سیستم گرافیکی

نرم افزار، سخت افزار، سخت افزار و نرم افزار

  • سیستم رابط حتی بین Progs و دستگاه ها را فراهم می کند.
  • 3 گروه وجود دارد:
  • رابط برنامه نویسی (انگلیسی. رابط برنامه نویسی) تعامل برنامه ها در میان خود است. به طور خاص، رابط برنامه نویسی API یا برنامه کاربردی - روش مبادله داده ها بین برنامه های کامپیوتری (یک درخواست را به API ارسال می کند، یکی دیگر از پاسخ ها). پورتال اخبار نشان می دهد ارز. نه سردبیر مسئول این است (او باید به صورت دستی اعداد را تغییر دهد)، و API که در آن سایت یک درخواست را به مبادله ارز ارسال می کند، پاسخی دریافت می کند؛

سخت افزار طراحی شده است برای تعامل دستگاه های فیزیکی با یکدیگر توسط اسلات، اتصالات، دروازه ها. USB (تایر متوالی جهانی) نمونه آشنا ترین است. از طریق آن به تلفن PC، دوربین، ماوس متصل شوید؛

سخت افزار نرم افزار تعامل گره ها، عناصر تحت کنترل برنامه است.

رابط کاربر

چه کاربر مخاطب آنچه را که او در مقابل خود می بیند، جایی که آن را کلیک می کند - این رابط کاربر است. این بخش خارجی دستگاه یا برنامه ای است که کاربر آن را کار می کند.

اغلب، تحت رابط کلمه، کاربر را نشان می دهد (رابط کاربر). این اتفاق می افتد که بازدید کننده سایت می گوید: "یک ثبت نام غلط و ناخوشایند یا منو وجود دارد." بنابراین، سایت برای تماس با شما ناراحت کننده است: پیدا کردن آیتم مناسب، پرداخت سفارش، سند را دانلود کنید، سند را دانلود کنید. ساختار قابل درک زمانی است که یک فرد بلافاصله می بیند کجا کلیک می کند، می داند که آن را باعث خواهد شد. اما با ویندوز، بسیاری از نیروهای تازه وارد مشکلات دارند، زیرا طراحی این نظرسنجی سیستم عامل، کاربران بی تجربه در تنظیمات اشتباه گرفته می شوند. در پلت فرم 1C، دو مکانیزم رابط کاربری مختلف مورد استفاده در مشتریان مختلف 1C.

خط فرمان، گرافیک، متن، صدا، حرکات، لمسی، عصبی، رویه - همه اینها در رابط کاربر گنجانده شده است. تحت کنترل آن، کاربر وارد داده ها در رایانه می شود، اطلاعات مربوط به مانیتور نمایش داده می شود، چاپگر. حتی یک رابط صفحه گسترده وجود دارد - این یک عنصر است که فرد می بیند، به عنوان مثال، برنامه Calc OpenOffice.org را اجرا می کند.

اما برخی از انواع بیشتر رابط کاربری وجود دارد.

رابط سخت افزاری

وب، بازی

رابط وب یک صفحه وب (یک یا یک مجموعه) نشان دهنده یک ساختار برای تماس با یک سرور یا دستگاه از طریق یک پروتکل HTTP و یک مرورگر وب است. به عنوان مثال، مشتری می تواند به صفحه بانک بروید، خدمات خدمات را پرداخت کنید. مزیت اصلی - بدون نیاز به نصب نرم افزار اضافی، زیرا سیستم عامل با مرورگر می رود. بدون نیاز به اشتباه با رابط شبکه. تحت این اصطلاح به عنوان یک دستگاه مجازی یا فیزیکی قابل درک است که در نظر گرفته شده برای انتقال اطلاعات بین برنامه ها از طریق یک شبکه کامپیوتری (به عنوان مثال VLAN).

راه محبوب برای ایجاد یک رابط وب استفاده از HTML با CSS و Javascript'a است. همچنین از Adobe Flash، Applets Java یا Silverlight استفاده می شود.

نوع دیگری از رابط بازی است - به طور مستقیم با GameDizayn مرتبط است، هرچند که فراتر از صلاحیت آن است. بازیکن و بازی در جهان های مختلف ساکن هستند و ساختار بازی نقطه تماس متقابل آنهاست. با آن، Gamer اطلاعات لازم را از این بازی دریافت می کند و اقدامات بازیکن را می گیرد.

ماده

رابط مادی یا لمسی نوع دیگری از کاربر است. این یک تماس شخصی با الکترونیک با ساختارهای ملموس است. به عنوان مثال، یک ماوس حرکت می کند که یک فرد به طور همزمان فلش مکان نما روی صفحه را حرکت می دهد.

انواع اینترفیس ها

رابط کاربری در گوشی ها

سبک کلی از رابط دستگاه تلفن همراه به عنوان SIMP (صفحه نمایش نماد آیکون منو) مشخص می شود. در سیستم عامل های موبایل ویندوز عناصر ساختار است که کل صفحه را اشغال می کنند. انتقال بین ویندوز توسط عناصر گرافیکی انجام می شود یا با انگشت کشیدن.

  • ویژگی های طراحی SIMP توسط ویژگی های سیستم عامل توضیح داده شده است.
  • شایع ترین سیستم عامل برای ابزارها:
  • اندروید؛
  • اپل iOS؛
  • WindowsMobile؛
  • سیستم پالم؛

Symbian OS؛

BlackBerry OS.

روسیه محبوب است - آندروید، اپل iOS، WindowsMobile. اما تولید کنندگان از انواع سیستم های رابط کاربری و بلوک های خود استفاده می کنند، دلیل اصلی نام تجاری است. توانایی آندروید به سفارشی سازی به این معنی است که تولید کنندگان تجهیزات شرکت ها می توانند تغییرات را به نرم افزار تغییر دهند، به عنوان مثال، در زمینه عملکرد و طراحی.

ساختارهای سیستماتیک مختلف در دستگاه های تلفن همراه تا حد زیادی بر تجربه صاحبان تاثیر نمی گذارد، زیرا آنها برای حل وظایف جهانی ایجاد می شوند. تفاوت در مجموعه برنامه ها.

رابط کاربری تلفن همراه همچنین شامل جک های هدفون، شارژ، کمک های صوتی - بسیاری از آنچه بر اساس کار کامپیوتر است، تنها این برای ابزارها تنظیم شده است. اما در گوشی های هوشمند، بسیاری از ساختارهای جدید وجود دارد، به عنوان مثال، NFC (NFS) - ساختار ارتباطات بی سیم.

معنی زبان رابط چیست؟

ارزش آن را با زبان هایی که هنگام تایپ کردن مواد متن نصب شده اند، نگران نباشید.

  • زبان رابط آن است که هنگام بارگیری عملیات، در منو، در جعبه های محاوره ای، ویندوز خطا و مراجع استفاده می شود. اگر حداقل 1 عدد اضافی به زبان اصلی نصب شود، می توان آن را تغییر داد.
  • یک راه ساده برای پیدا کردن کدام پنجره های زبان بر روی کامپیوتر ایستاده است:
  • "کنترل پنل" را باز کنید؛

تب "زبان"؛

زبان اصلی که در حال حاضر استفاده می شود اختصاص داده شده است. این را می توان تغییر یا اضافه کردن یک جدید.

پیدا کردن

برای یک فرد، رابط پایه ای برای کار با کامپیوتر یا تلفن است. و این یک راه برای تعامل بین برنامه ها و تجهیزات است. سادگی ساختار سیستم بستگی دارد، آیا این دستگاه آسان است یا خیر. توسعه دهندگان با طراحی و ساختارهای مختلف می آیند، و آنها را بیشتر یا کمتر دلپذیر، بصری برای مردم است. کارشناسان فناوری اطلاعات می توانند به برخی از ساختارها تغییر کنند یا از آنها برای حل وظایف جدی استفاده کنند و کاربران بی تجربه می توانند دستگاه را با یک سیستم رابط بصری برای تسهیل کار و صرفه جویی در وقت خریداری کنند.

رابط اغلب گفته می شود زمانی که آنها به معنای تعامل فرد و کامپیوتر یا برنامه های کاربردی هستند. در مقاله ما تعریف رابط را تجزیه و تحلیل خواهیم کرد، که برای تعاملات، انواع و ویژگی های آنها است.

  • رابط کاربری چیست؟

  • رابط کاربری "هادی" بین مرد و یک برنامه، یک سیستم عامل، یک دستگاه فنی یا یک روش تعامل بین برنامه های کاربردی در میان خود است. یک فرد دستورات را با استفاده از رابط می دهد، دستگاه آنها را تجزیه و تحلیل می کند و پاسخ می دهد. وظایف اصلی که برای آن در نظر گرفته شده است:

  • اطلاعات (صدا، تصویر) را وارد کنید و نمایش دهید؛

  • مدیریت برنامه های کاربردی فردی؛

تبادل اطلاعات با سایر دستگاه ها؛

انواع رابط ها

تعامل با سیستم عامل.

خط فرمان

رابط شامل تعامل نه تنها انسان ها و فن آوری، بلکه یک برنامه کامپیوتری، برنامه برنامه، دستگاه کامپیوتری است. به عنوان مثال، هنگامی که دستگاه ها به واحد سیستم کامپیوتری متصل می شوند، به عنوان روش تعامل از اتصال استفاده می شود.

برخی از انواع تعامل به شما امکان می دهد کنترل بیشتری بر روی یک کامپیوتر یا گوشی هوشمند داشته باشید، اما نیاز به مهارت های اضافی دارید. دیگران راحت تر هستند، اما فرصت های کمتری را فراهم می کنند. هر نوع دارای ویژگی های خاص خود است.

خط فرمان (رابط کنسول) در پوسته خود شروع می شود، به عنوان مثال، در BIOS. مسیر اصلی محل آن: C: \ Windows \ System32 \ CMD.exe. Yowser معمولی نیازی به عمدی نیست که خط فرمان واقع شده باشد و چگونه کار می کند و برای حرفه ای ها این ابزار اصلی است، زیرا آن را به کامپیوتر با ویروس ها، ترمیم ویندوز و در موارد دیگر کمک می کند.

از طریق خط فرمان، شما می توانید حداکثر تعداد عملیات را انجام دهید یک راه مستقیم برای برقراری ارتباط با سیستم عامل است. برای تایپ فرمان، شما باید متن را در رایانه وارد کنید و Enter را فشار دهید، کامپیوتر شروع به انجام آن می کند.

روش منهای این است که تنها برای کاربران آموزش دیده مناسب است. در خط فرمان، عناصر گرافیکی کمکی وجود ندارد، باید زبان را برای تعامل کار کند، و کار دستورات نمی تواند اشتباه باشد.

گرافیک، تعامل با کامپیوتر را ساده می کند، بسیار ساده تر از آن است که با آن کار کنید و راحت تر از متن باشید. در نقش رابط گرافیکی، چنین عناصر عبارتند از:

در ساده ترین مورد، رابط متن از یک خط فرمان استفاده می کند، اما بسیاری از برنامه های با عناصر تعاملی طراحی دوستانه تر و قابل فهم تر را ایجاد می کنند که به راحتی به گرافیک نزدیک می شود.

به عنوان مثال، هنگامی که تعامل با ویندوز از آیکون ها و ویندوز استفاده می کند، ماوس به Enter متصل می شود. در گوشی هوشمند، دستگاه ورودی یک صفحه نمایش لمسی است.

رابط متن از تصاویر استفاده نمی کند: دستورات با استفاده از متن و اطلاعات در فرم متن ارائه می شود.

تعامل ژست به شما اجازه می دهد تا دستورات را به حرکات انگشتان دست بدهید. این کار در هنگام کار با صفحه نمایش لمسی از گوشی هوشمند استفاده می شود. به عنوان مثال، ژست "UP" باعث می شود پنجره پاپ آپ ظاهر شود.

رابط صوتی یک مدیریت صوتی است. این ابزار دستورات صوتی را به رسمیت می شناسد و انجام می دهد.

لمسی زمانی که تعامل مبتنی بر احساسات لمسی است، به دست آوردن بازخورد حساس (ارتعاش، فشار)؛

تاکتیکی به معنای تعامل با کمک دست زدن به: ارتعاش یا حساسیت به فشار دادن است.

رابط عصبی این فرمان را به طور مستقیم از مغز به کامپیوتر منتقل می کند، زیرا الکترودها به مغز وارد می شوند. این در پزشکی استفاده می شود: بنابراین یک فرد فلج شده می تواند با جهان خارج ارتباط برقرار کند.

سخت افزار طراحی شده است برای تعامل دستگاه های فیزیکی با یکدیگر توسط اسلات، اتصالات، دروازه ها. USB (تایر متوالی جهانی) نمونه آشنا ترین است. از طریق آن به تلفن PC، دوربین، ماوس متصل شوید؛

تعامل برنامه با یکدیگر یک رابط نرم افزاری را فراهم می کند. برنامه ها ارسال درخواست ها به یکدیگر و دریافت پاسخ. به عنوان مثال، به طور مداوم آب و هوای مربوطه را در یک ویجت یا بر روی یک کامپیوتر نشان می دهد، یک برنامه به طور مداوم یک درخواست را به دیگری ارسال می کند و اطلاعات تازه را فراهم می کند.

سخت افزار برای سازمان ارتباطات بین دستگاه های فیزیکی از طریق اتصالات و اسلات طراحی شده است. و هنگامی که کامپیوتر اطلاعات را از یک هارد دیسک می خواند - این یک کار مشترک از برنامه و دستگاه فیزیکی است، یعنی رابط سخت افزاری و نرم افزاری.

همه، که کاربر معمولی تعامل می کند زمانی که شامل یک کامپیوتر می شود، وارد وبسایت یا در برنامه می شود، همه چیز را که فرد بر روی صفحه نمایش می بیند، یک رابط کاربری است.

وب سایت، سایت بازی

راه محبوب برای ایجاد یک رابط وب استفاده از HTML با CSS و Javascript'a است. همچنین از Adobe Flash، Applets Java یا Silverlight استفاده می شود.

رابط وب به شما اجازه می دهد تا از طریق مرورگر کار کنید. این تعامل برنامه ها در اینترنت است. به عنوان مثال، شما می توانید به وب سایت فروشگاه بروید و به خرید پرداخت کنید. مرورگر در این مورد یک رابط وب خواهد بود، به لطف صفحات تعامل.

ماده

این بازی این است که چگونه کاربر می تواند با بازی که دستورات می تواند ارائه دهد، ارتباط برقرار می کند، در چه نوع اطلاعات بازی ارائه شده است و چگونه بازی به اقدامات پاسخ خواهد داد.

چه باید باشد

این یک تماس لمسی با ابزارها است. این شامل لمس صفحه نمایش لمسی، اقدامات با ماوس یا جوی استیک است.

ساختار پایگاه داده منطق (DDL).

گوشی های هوشمند از یک صفحه لمسی استفاده می کنند که به معنای حرکات و رابط های لمسی است. کاربر به عناصر متصل می شود، سیستم عامل یا برنامه دریافت دستورات از آن را دریافت می کند و آنها را انجام می دهد.

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