Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Пайдаланушы интерфейсін басқару жүйесі (UIMS) – компьютерлік бағдарламадағы процестерді немесе бизнес-логиканы графикалық пайдаланушы интерфейсі (GUI) кодынан таза бөлуге арналған механизм. UIMS бизнес-логика мен GUI арасындағы шекараны қатаң түрде анықтап, оны сақтау арқылы N-деңгейлі архитектураларды қолдауға бағытталған. UIMS көбінесе қатаң бағдарламалық архитектураны білдіреді, және әдетте бір UIMS тек бір бөліну парадигмасын қолдайды. UIMS пайдаланушы интерфейсі ресурстарын немесе деректерді сақтау үшін графикалық құралдар сияқты кітапханалар мен жүйелерді де қамтуы мүмкін. Әдетте, бірнеше UIMS жүйесін бір уақытта пайдалану қиын, сондықтан жобада UIMS үшін дұрыс модельді таңдау – маңызды дизайндық шешім. Жүйені таңдау сіз пайдаланушы интерфейстерін жасағыңыз келетін жүйелерге және қолданбаңыздың жалпы стиліне байланысты. Мысалы, егер сіз веб-базалық интерфейс жасағыңыз келсе, немесе жеке қолданба немесе екеуін де жасағыңыз келсе, бұл таңдаудың маңызды факторы болар еді. Егер сіз Macintosh, Windows және Linux жүйелеріне орналастыруды жоспарласаңыз, бұл сіздің UIMS жүйесін таңдауыңызға одан әрі әсер етеді. Зерттеу мақалаларында UIMS-тің көптеген тәсілдері сипатталған. Дегенмен, коммерциялық немесе ашық кодты жүйелердің саны көп емес.
A User Interface Management System (UIMS) is a mechanism for cleanly separating process or business logic from Graphical user interface (GUI) code in a computer program. UIMS are designed to support N tier architectures by strictly defining and enforcing the boundary between the business logic and the GUI. A fairly rigid Software architecture is nearly always implied by the UIMS, and most often only one paradigm of separation is supported in a single UIMS. A UIMS may also have libraries and systems such as graphical tools for the creation of user interface resources or data stores. Generally, you cannot easily use multiple UIMS systems at the same time, so choosing the correct model for your UIMS is a critical design decision in any project. The choice of system is dependent upon the system(s) you wish to create user interfaces for, and the general style of your application. For example, if you want to create a web based front end, or just a standalone application or both that would be an important factor in choosing. If you want to deploy to the Macintosh, Windows and Linux, that would further influence your choice of a UIMS system. There are many UIMS approaches described in research papers. However, there are not very many systems available commercially or through open source.
Модельдер
Көптеп сілтеме жасалатын еңбектерінде Фоули мен Уоллес пайдаланушы интерфейсін басқарудың "тілдік моделін" сипаттайды, ол Көрсету қабатынан, Диалогты басқару қабатынан және Қолданба қабатынан тұрады. Бұл қабаттар формальді тіл теориясының лексикалық, синтаксикалық және семантикалық деңгейлерімен сәйкес келеді. Фоулидің моделі теориялық тұрғыдан ашып көрсететін болғанымен, ол кодты бөлуге арналған нақты практикалық жүйені ұсынбайды. Сондай-ақ, осы қабаттардың біріне толықтай сәйкес келмейтін көптеген қызықты шекаралық жағдайлар бар. Пайдаланушы интерфейсін басқарудың тікелей қолданылатын теориясы – модель-көру-бақылаушы (model-view-controller) дизайны, ол жеке мақаласында егжей-тегжейлі сипатталған. MVC-нің жаңа нұсқасы – модель-көру-презентер (model-view-presenter) моделі, ол MVC-ге ұқсас, бірақ мәселеге қатысты қызықты түсініктер ұсынады.
In a frequently cited body of work, Foley and Wallace describe a "linguistic model" for user interface management consisting of a Presentation Layer, a Dialog Control layer and an Application layer. These layers correspond to the lexical, syntactic and semantic layers from formal language theory. While Foley's model is theoretically enlightening, it does not propose a specific practical system for separating code. There are also many interesting border cases that don't fall cleanly into one of these layers. A more directly applicable theory of user interface management is the model–view–controller design pattern, which is described in detail in its own article. A recent variant of MVC is the model–view–presenter model which is similar to MVC, but has some interesting insights into the problem.
Қолданылу
Функционалды негіздемелі жүйе барлық пайдаланушы интерфейсі әрекеттерін функцияларға интерфейс ретінде қарастырады. Диалогтар тек диалог жабылып жатқанда шақырылатын функциялардың параметрлерін жинау үшін ғана қолданылады. Мәзір ағаштары – осы үлгіге сәйкес келетін модельдік іске асырудың бір түрі. Грамматикаға негізделген UIMS пайдаланушы интерфейсін сипаттау үшін арнайы тілді ұсынады. Әдетте, бұл пайдаланушы интерфейсі элементтерін көрсетуге арналған ерекше тіл болады. Редакциялау моделі – грамматикаға негізделген UIMS-тің маманданған түрі. Олар барлық өзара әрекеттесуді негізгі көрсету объектілерінің тікелей көрсетуі ретінде ұсынады. Қолданбалы бағдарламалау тілінің грамматикасын графикалық пайдаланушы интерфейсінің грамматикасы ретінде пайдалануға болады. Айналу жолағы бүтін санды, тіктеп қою таңбасы логикалық мәнді, ал функция батырма немесе мәзір элементі ретінде көрсетіледі. Диалогтық терезе немесе мәзір – қасиеттері мен функциялары бар күрделі объектінің көрсетуі. Бақылау қабаты автоматты түрде объектіні көрсетумен және керісінше, Байқаушы үлгісімен қамтамасыз етілген екі жақты байланыс арқылы синхрондастырады. Қосу/өшіру және растау редакциялау моделінде ерекше қиындықтар туғызады, бірақ оларды шешуге болады. 1990 жылдары қысқа мерзімге қолжетімді болған ViewSoft Internet атты коммерциялық бағдарлама, Редакциялау моделіне негізделген жалпы мақсаттағы GUI құрастырғышын іске асырды. Көшу желілері пайдаланушы интерфейсінің логикасын интеллектуалды блок-схема түрінде ұсынады. Оқиғалар тілі моделінде компьютерлік тіл оқиғаларды өңдеуге бағытталған. Бұл, негізінен, Microsoft-тың C# және Visual Basic .Net тілдерінде қолданылатын тәсіл, олардың делегаттары мен оқиғалар тілі құрылымдары бар. Басқа модельдерге Hypertalk, Өндіріс жүйелері және Декларативтік тілдер кіреді.
A functional based system approaches all user interface actions as interfaces for functions. Dialogs exist solely to collect parameters for functions that are called when the dialog is closing. Menu Trees are one family of model implementations that follow this pattern. Grammar based UIMS provide a specialized language for describing the user interface. Usually, this is a special language designed specifically for the presentation of user interface elements. The Editing Model is a specialization of grammar based UIMS. They present all interaction as direct presentations of underlying presentation objects. Essentially, using the grammar of the programming language as the grammar for the GUI. A scroll bar may present an integer, a check box may present a boolean, a function is presented as a button or menu item. A dialog box or a menu is a presentation of a complex object containing properties and functions. A controller layer automatically synchronizes the object with the presentation and vice versa through a two way connection provided by an Observer pattern. Enable/disable and validation present special challenges under the editing model, but they can be dealt with. A commercial program, ViewSoft Internet, was briefly available in the 1990s that implemented a general purpose GUI builder based upon the Editing Model. Transition Networks present the user interface logic as a kind of intelligent flowchart. In an Event Language model, the computer language is designed around the handling of events. This is essentially the approach taken in Microsoft's Net languages C# and Visual Basic. Net with their delegate and event language structures. Other models include Hypertalk, Production Systems and Declarative Languages.
Жоғары ғылыми қызметкерлері
Бұл саладағы маңызды зерттеулер Брэд Майерс, Дэн Олсен, Скотт Хадсон және Джеймс Д. Фоули жасаған.
Important research in this field has been done by Brad Myers, Dan Olsen, Scott Hudson and James D. Foley.