واجهة المستخدم الموجهة للكائنات

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

يعرّف جاكوب نيلسن واجهة المستخدم الموجهة للكائنات على النقيض من الواجهات الموجهة الوظيفية (الدالية): "أحيانًا يتم وصف الواجهات الموجهة للكائنات أحيانًا على أنها تحول التطبيق من الداخل إلى الخارج مقارنة بالواجهات دالية التوجه. يتغير التركيز الرئيسي للتفاعل ليصبح بيانات المستخدمين وكائنات المعلومات الأخرى التي عادة ما يتم تمثيلها رسومياً على الشاشة كأيقونات أو في النوافذ.Nielsen, J., Usability Engineering. 1993, San Francisco: Morgan Kaufmann / Academic Press

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

 إدراك المستخدمين وتصرفاتهم على الكائنات.
 يمكّن للمستخدمين تصنيف الكائنات بناءً على سلوكها.
 في سياق ما يحاول المستخدمون القيام به، تتناسب جميع كائنات واجهة المستخدم معًا في تمثيل شامل متماسك.Collins, D., Designing Object-oriented User interfaces. 1995, Redwood City, CA: Benjamin/Cummings

يقترح جف راسكين أن السمة الأكثر لأهمية واجهة المستخدم الموجهة للكائنات هي أنها تتبنى أسلوب«اسم-فعل»، بدلاً من «فعل-اسم» للتفاعل، وأن هذا له مزايا عديدة من حيث سهولة الاستخدام.Raskin, J., The Humane Interface. 2000, Reading, MA: Addison-Wesley / ACM Press

 العلاقة بأفكار واجهة المستخدم الأخرى 
هناك قدر كبير من التآزر المحتمل بين مفهوم واجهة المستخدم الموجهة للكائنات والأفكار المهمة الأخرى في تصميم واجهة المستخدم بما في ذلك:

 واجهة المستخدم الرسومية.
 واجهة المعالجة المباشرة.
 مصطلح الواجهة.

تعتمد العديد من التخيلات المستقبلية لواجهات المستخدم بشكل كبير على واجهة المستخدم الموجهة للكائنات وخاصةً مفاهيم واجهات مستخدم رسومية موجهة للكائنات. ومع ذلك، هناك العديد من الأمثلة على واجهات المستخدم التي تنفذ واحدة أو أكثر من تلك الأفكار الأخرى، ولكنها ليست في الواقع واجهات مستخدم موجهة للكائنات - على الرغم من أنها غالبًا ما يتم تصنيفها بشكل خاطئ على أنها واجهات المستخدم الموجهة للكائنات.Constantine, L. and L. Lockwood, Software for use. 1999: Addison-Wesley على العكس، هناك أمثلة على واجهات المستخدم الموجهة للكائنات ليست رسومية، ولا تستخدم تقنيات معالجة مباشرة، ولا تستخدم المصطلحات القوية. على سبيل المثال، كانت الإصدارات الأقدم من لغة برمجة سمول توك تحتوي على واجهة سطر أوامر والتي كانت مع ذلك واضحة أيضًا كواجهة المستخدم الموجهة للكائنات،Kay, A., The early history of Smalltalk, in History of Programming Languages, T. Bergin and R. Gibson, Editors. 1996, Addison-Wesley / ACM Press: Reading, MA. p. 511-. الرغم من أنها أصبحت معروفة فيما بعد بدورها الرائد في تطوير واجهات المستخدم الرسومية، المعالجة المباشرة للمصطلحات البصرية.

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

تنص الإرشادات الخاصة بوصول المستخدم العام لشركة IBM، (ربما كانت المحاولة الأكثر شمولًا لتحديد معيار لتصميم واجهة المستخدم الموجهة للكائنات) على أنه "في حين أن البرمجة الموجهة للكائنات يمكن أن تسهل تطوير واجهة مستخدم موجهة للكائنات، إلا أنها ليست شرط مسبق.يمكن تطوير واجهة مستخدم موجهة للكائنات باستخدام لغات وأدوات برمجة أكثر تقليدية.IBM, Common User Access - Guide to User Interface Design. 1991, IBM: Cary, North Carolina.

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

تنص إرشادات بوصول المستخدم العام على أنه «في واجهة المستخدم الموجهة للكائنات، فإن الكائنات التي يعمل معها المستخدم لا تتوافق بالضرورة مع كائنات أو نماذج الكود، التي يستخدمها المبرمج لإنشاء المنتج.» تم تحسين طرق التصميم الأساسية الموضحة في بوصول المستخدم العام بشكل أكبر في طريقة OVIDDave Roberts, Dick Berry, Scott Isensee & John Mullaly, Designing for the User with OVID: Bridging User Interface Design and Software Engineering MacMillan, 1998 التي استخدمت لغة النمذجة الموحدة لنمذجة الواجهة.

يذكر مارك فان هارملن أن "تصميم واجهة المستخدم الموجهة للكائنات لا يتطلب من المصممين أن يأخذوا منظوراً موجّه للمشكلة منذ بداية المشروع. علاوة على ذلك، حتى إذا أخذ المصممون منظورًا موجهًا للكائنات طوال الوقت، فسيستفيدون من فكرة التركيز بشكل منفصل على نموذج الكائن وتصميم واجهة المستخدم الموجهة للكائنات.van Harmelen, M., ed.

على النقيض من ذلك، فإن نمط الكائنات المجردة هو نهج لتصميم التطبيقات التي، على الأقل في شكلها البسيط، تفرض تجاوب مباشر بين الكائنات الممثلة في واجهة المستخدم الموجهة للكائنات وكائنات المجال الأساسي، مما يؤدي إلى إنشاء الأول تلقائيًا من الأخير.Pawson, R., Naked Objects, Ph.D Thesis, 2004, Trinity College, Dublin, Ireland
 ملحق: مسرد المصطلحات الإنجليزية 
المقدمةواجهة المستخدم الموجهة للكائنات object-oriented user interface (OOUI)الكياناتentitiesالنطاق domainرسم المتجهات vector drawingلوحات canvasesإجراءات actionsإعادة محاذاة re-alignتطبيق الأعمال التجارية   business applicationاستدعاء invokingكائنات objectsالواجهات الموجهة الوظيفية (الدالية) function-oriented interfacesبالواجهات دالية التوجه   function-oriented interfaceرسومياً graphicallyأيقوناتiconsالنوافذwindowsيوضح demonstratingخصائص  characteristicsإدراكperceiveتصرفه actتصنيف classifyالكائنات objectsسلوكها behaveسياق contextتمثيل شامل متماسك coherent overall representationالسمة characteristic" اسم-فعل" "noun-verb""فعل-اسم"   "verb-noun"العلاقة بأفكار واجهة المستخدم الأخرىالتآزر synergy واجهة المستخدم الرسوميةGUIتصميم واجهة المستخدم user interface designالمصطلحات القوية strong metaphorsواجهة سطر الأوامرcommand line interfaceالعلاقة بالبرمجة الكائنيةشرط مسبقpre-requisiteبوصول المستخدم العام لشركة IBM(CUA) IBM's Common User Accessالعلاقة بنمذجة كائن النطاقالعلاقة بنمذجة كائن النطاقdomain object modellingكائنات المجالdomain objectsالكائنات المجردة naked objectsكائنات المجال الأساسيunderlying domain objectsإنشاء تلقائيauto-generatingواجهات مستخدم رسومية موجهة للكائناتOOGUI

 المراجع 

تصنيف:برمجة
تصنيف:واجهات مستخدم
تصنيف:نظم تشغيل كائنية التوجه