Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2013-04-26

Перенести вычисления к данным

На Хабре видел статью
Называется «StateController. Событийная модель в разработке интерфейсов».
Автор фреймворка решает проблемы слабой связности модулей методом переноса кода обработки данных в узлы хранения данных. А поскольку речь идет о HTML, то это веб-формы, специальные атрибуты для элементов HTML и микро-обработчики этих элементов, написанные на Javascript.
Работает это так: внутри нужных тегов записываются специальные атрибуты, в которых указаны события, на которые надо реагировать и обработчики для этих событий. Где-то на странице возникает событие, контроллер находит все HTML элементы подписанные на это событие, вызывает обработчик события для каждого найденного элемента.
Хороший способ справится с динамической структурой веб-страницы суть приложения. В том смысле, если изготавливаемое приложение задумано как произвольный набор блоков а не фиксированная структура.

Я одного не понял — при чем тут «StateController». Контроллер состояний, это ведь несколько про другое. Это про конечные автоматы, нет?

Вполне приличная работа, можно брать на вооружение, хотя лично мне претит изготавливать очередной «Ёксель». В том смысле, что подход, предлагаемый автором, хорошо себя проявляет в приложениях, где пользователю дают некий «эксплорер» а дальше он продирается через заросли типовых таблиц и кнопок к решению своей частной задачи. Типа, надо тебе что-то посчитать, ну вот тебе Ёксель, вот данные, сиди и считай.

original post http://vasnake.blogspot.com/2013/04/blog-post_26.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)