автомат интерфейс
Днес има много малко "не-сървър" софтуер, без потребителски интерфейс. Това не е, че те не съществуват изобщо, но все пак, който и да е програма, която претендира да е "за обикновения потребител лесен за употреба," трябва да има графичен потребителски интерфейс. В същото време на създаването на потребителския интерфейс не е толкова добре осветени като разработката на софтуер. За съжаление, много хора, защото на това изглежда, че потребителският интерфейс е "просто да бъде", и това е една от причините, поради които изходът е толкова зле проектирани програми.
Днешните метода за създаване на интерфейс
Оказва се, че най-красивите и, в същото време, качество (по отношение на код) по някакъв начин? В тази статия са начин за създаване обработват събитие, което дава възможност за автоматизиране това, без съмнение трудна фаза на интерфейса.
Общи принципи
Ако ние не забравяйте, че това състояние на машината и да я сравни с това, което се случва по време на взаимодействие с потребителя, може да се разбере, че в тези две лица много общо. Състоянието на интерфейса, можете да вземете държавата (натиснат или бутон освободен, има отметка в квадратчето или не е избрана от първия или втория раздел, и така нататък), потребителски събития могат да задействат автоматично. Например, на фиг. 1 е графика на автомата преминава конвенционален прозорец диалогов влизане при въвеждане на броя (Фигура 2). Линията на прекъсване представя събитията в плътни линии - държавна автомат. За краткост и яснота, в този пример, "Имена" на състояния на предприетите действия, извършени автоматично в това състояние.
Фигура 1. Графика диалогов събития машина за обработка на преходи показани на Фиг. 2.
Фигура 2. диалог.
Както се вижда, някои държави (в този случай "Промяна на външния вид на линии") се използва повторно. За пълното прилагане обработката на интерфейса събитие може да се реализира само на всяка държава под формата на кода и да позволи на системата за автоматично създаване на обработката на събития на предизвикателствата на писан закон. Тъй като всеки процесор слабо свързан с останалата част, като има възможност за разделяне на работата на програмистите. И тъй като това е достатъчно проста (само извършване на определени действия, без да се създават логика), е възможно да инструктира неопитен програмист ( "енкодер"), без да се страхуват за качеството.
В случай на такава логика интерфейс дял е много по-лесно да се тества отделните щати, преходи. Както графиката показва всички възможни входни данни и преходи показват как да се развива събитието, а след това автоматизирано тестване също е възможно.
Така се получава държавна графика потребителски интерфейс, който е лесен достатъчно, за да се създаде ( "рисуване"), което е очевидно, тя ще се превърне в код (на ръка могат да пишат само кода се заявява, които са много по-лесно да се обработват събитие). Когато се случи това преобразуване автоматично, което елиминира възможността за грешки.
Също така подобрява видимостта на манипулатори представяне на събития, е възможно да се използват повторно и приложни шаблони, които непременно трябва да доведе до подобряване на качеството на разработения интерфейс логика.
jInterface библиотека
jInterface библиотека за цел да провери възможностите на този подход за създаване на логиката на интерфейса.
- условия - стандартни пакети класове на условия, които са проверени, за да проверите за "задействат" автоматични преходи.
- ICondition - условия интерфейс.
- Винаги - най-проста състоянието, което винаги е доволен.
- слушателите - стандартни "слушатели" Отмяна, за да бъдат в състояние да добавите автоматична обработка струг на събитията в стандартния стил AWT / Swing.
- Слушател - Резюме предшественик клас "автомати класа ученици."
- AutoFocusListener
- ...
- сеч - пакет, в която се помещава някои помощни класове за регистриране на създаването и функционирането на машината.
- ILogger - общ интерфейс
- SimpleLogger - О протокол клас в стандартния изход.
- Автомати - машина клас. Обработват се всички събития, които идват от страна на публиката.
- Събития - събития, които идват от слушателя.
- IActions - действия, които могат да се изпълняват, ако то влезе държавата или на прехода.
- Членка - състояние на автомата.
- Преход - преминаването от една държава в друга.
- XMLAutomata - клас, който разширява възможностите за автоматична инициализация с помощта на XML-файла.
Процесът на създаване на автомат се състои от създаване на държави, преходи и условия за тези преходи последващо "котва" на машина интерфейс. Това се извършва чрез конвенционални AWT или Swing събития. В този случай, всички събития, които трябва да се справят с машината, преминават контрол към него. Обявата 1 съдържа загубата на придобиване / фокус събитие слушател фрагмент (FocusListener).
Машина създаден от информацията, която се съдържа в специален XML-файлове. С изтеглянето на този файл инициализира обекта и създава структура машина (държави, преходи, събития). Обява 2 показва XML файл, което съответства на малко по-сложно, отколкото машина показан на фигура 1 (влязъл поле парола, малко по-различна обработка събитие логика)
Всяка държава може да съдържа код, който работи, когато се удари в това състояние, както и списъка на преходите в условията. След извършване на проверките кодовите всички условия и преходи може да преминете към първото условие, което е удовлетворено (Обява 4).
По време на прехода, кодът, който може да го побере, и там е много прехода към ново състояние (виж Обява 5).
Ако няма преход, всички условия за преход не са изпълнени, работата на машината е завършена. Тя започва обработката на следващото събитие, и ако събитието не е налице, автоматична нишка е спряно, докато не бъдат получени.
по-нататъшно развитие
Подходът включва създаването на общ образец библиотека за повторна употреба. Може да се използва като машинни шаблони, които изпълняват определена функционалност или модели на държави, преходи, групи от държави, и така нататък. Всичко това допълнително ще ускори процеса на развитие интерфейс, като същевременно се подобрява неговото качество. В допълнение, тя ще създаде заедно със стандартен набор от "компоненти" разработване на интерфейс стандартен набор от "условия" за развитието на интерфейс логика.
- Забавяне на операцията. Нищо не идва безплатно. Разбира се, работата по автомат отнема известно време. Но в сравнение с темпа на получаване на събития (действията на потребителите), този път е незначителен. В идеалния случай, крайният потребител не забелязва нищо, от негова гледна точка, програмата ще работи по същия начин, както преди.
- Необходимостта от създаването на съставни библиотеки и библиотеки работят с "картечница" интерфейс за различни езици, операционни системи, и така нататък. Въпреки това, тези библиотеки са много бързи и лесни за използване и поддръжка.
заключение
Представеният в статията метод, е коренно различна от методите, които се използват днес, за да се създаде потребителски интерфейс логика. Тя ви позволява да, в крайна сметка, за да се подобри качеството на крайния интерфейса и изходния код, да се ускорят развитието и опростяване на поддръжката. Методът се основава на подхода, активно насърчава от Anatoliem Abramovichem Shalyto [1] и използва повечето от предимствата на метода автомати програмиране.
В момента развитието на библиотеката не е спрян, е активно приключване на теоретичните основи и софтуерни компоненти.