Thursday, August 30, 2012

Spring and GWT tutorial. Part 5 - UiBinder

After pretty long time we are continuing developing our application based on Spring and GWT.
Earlier user interface and application logic were described in one class HelloGWT. Now we will create new widget for that and describe all user interface via XML with usage of UiBinder.

This post is available in Russian.

Wednesday, August 29, 2012

Memento design pattern tutorial

When you develop an application you might want some objects to save and restore their states. One way to do that is to send the initial object state to another object. But next problems occur:
  • initial object structure becomes revealed
  • another object might change received state
It is much better to save object state with special container object based on Memento design pattern.

This post is available in Russian.

Создаем приложение с помощью Spring и GWT. Часть 5 - UiBinder

Спустя довольно длительное время продолжаем писать наше приложение, использующее Spring и GWT.

Ранее интерфейс пользователя и логика работы нашего приложения была описана в одном классе HelloGWT. Сейчас же мы создадим для этого отдельный виджет и при этом вынесем описание интерфейса пользователя из java-кода в XML с помощью UiBinder.

Friday, April 27, 2012

Abstract Factory design pattern tutorial

When you develop an application sometimes it must have a possibility to work with large number of different resources or in different operation systems. Of course, you need a special mechanism to do it. Also your application has to be flexible enough so you could easily add some new resources without code changing and headache. Abstract Factory pattern can effectively resolve such problem.

This post is available in Russian.

Wednesday, April 25, 2012

Шаблон проектирования Memento

При разработке приложений бывают ситуации, когда объекты должны уметь сохранять и восстанавливать свое состояние. Один из способов реализации этого - передача состояния одного объекта другому объекту. Но при этом возникают две проблемы:
  • раскрывается внутренняя структура объекта
  • другой объект может изменить полученное состояние
Намного лучше сохранять состояние объекта, используя специальный объект-контейнер, основанный на шаблоне Memento.

Tuesday, April 17, 2012

Шаблон проектирования Factory Method

При разработке приложения далеко не всегда можно заранее решить, какие именно компоненты понадобятся. Обычно есть лишь общее видение того, что должны делать компоненты, но реализация функциональности компонентов с уточнением их возможностей выполняется позже, в ходе работы над проектом. Данную проблему можно решить, используя интерфейсы. Но из интерфейса невозможно создать объект. В такой ситуации необходимые объекты можно создавать с помощью шаблона Factory Method.

Friday, April 13, 2012

Шаблон проектирования Abstract Factory

При разработке приложения бывают ситуации, когда оно должно иметь возможность работать с большим количеством различных ресурсов или в разных операционных системах. Соответственно, возникает необходимость в специальном механизме, который смог бы обеспечить выполнение этого требования. В то же время приложение должно быть гибким и добавление нового ресурса не должно приводить к изменению существующего кода. Шаблон Abstract Factory позволяет эффективно решить подобную проблему.

Monday, February 6, 2012

Using Listener instead of GWT Event Bus

When developers design communication between controllers in GWT applications, they often use Event Bus. It is a good decision if you have at least several event handlers for every event. But what if there are only two controllers? If we prefer Event Bus, then every event will have only one event handler. It is too costly. In this situation it is better to use Listener design pattern (it is also known as Observer).

This post has a Russian version.

Earlier we have created an application with Event Bus. Now let's create a similar project, but using Listener pattern.

Sunday, January 29, 2012

Используем Listener вместо GWT Event Bus

При разработке GWT-приложений часто используют Event Bus для взаимодействия контроллеров. Такой вариант хорош, если на определенное событие должны реагировать несколько обработчиков. Если же взаимодействуют всего два контроллера, то использовать Event Bus затратно. В такой ситуации лучше подойдет шаблон проектирования Listener (он же - Observer).

Ранее мы создали приложение, использующее Event Bus. Создадим аналогичное, но с использованием шаблона Listener.