Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Разработчик вычислительных технологий от Sun Microsystems
Computing technology developer by Sun Microsystems
В вычислительных системах, основанных на платформе Java, JavaBeans – это технология, разработанная Sun Microsystems и выпущенная в 1996 году как часть JDK 1.1. "Beans" (компоненты) JavaBeans – это классы, которые инкапсулируют один или несколько объектов в единый стандартизированный объект (компонент). Эта стандартизация позволяет обрабатывать компоненты более универсальным способом, облегчая повторное использование кода и интроспекцию. В свою очередь, это позволяет рассматривать компоненты как программные компоненты и манипулировать ими визуально с помощью редакторов и IDE без необходимости предварительной конфигурации или знания деталей внутренней реализации. В рамках стандартизации все компоненты должны быть сериализуемыми, иметь конструктор без аргументов и обеспечивать доступ к свойствам с помощью методов getter и setter.
In computing based on the Java Platform, JavaBeans is a technology developed by Sun Microsystems and released in 1996, as part of JDK 1.1. The 'beans' of JavaBeans are classes that encapsulate one or more objects into a single standardized object (the bean). This standardization allows the beans to be handled in a more generic fashion, allowing easier code reuse and introspection. This in turn allows the beans to be treated as software components, and to be manipulated visually by editors and IDEs without needing any initial configuration, or to know any internal implementation details. As part of the standardization, all beans must be serializable, have a zero argument constructor, and allow access to properties using getter and setter methods.
Преимущества
Свойства, события и методы компонента могут быть доступны для другого приложения. Компонент может подписываться на получение событий от других объектов и генерировать события, которые отправляются этим объектам. Для настройки компонента может быть предоставлено вспомогательное программное обеспечение. Настройки конфигурации компонента могут быть сохранены в постоянном хранилище и восстановлены.
The properties, events, and methods of a bean can be exposed to another application. A bean may register to receive events from other objects and can generate events that are sent to those other objects. Auxiliary software can be provided to help configure a bean. The configuration settings of a bean can be saved to persistent storage and restored.
Недостатки
Класс с конструктором без аргументов может быть создан в недопустимом состоянии. Если такой класс создается вручную разработчиком (а не автоматически каким-либо фреймворком), разработчик может не заметить, что класс был создан некорректно. Компилятор не может выявить такую проблему, и даже если она описана в документации, нет гарантии, что разработчик с ней ознакомится. JavaBeans по своей природе изменяемы и поэтому лишены преимуществ, которые предоставляют неизменяемые объекты. Необходимость создавать геттеры для каждого свойства и сеттеры для многих, большинства или всех из них может привести к огромному объему шаблонного кода.
A class with a zero argument constructor is subject to being instantiated in an invalid state. If such a class is instantiated manually by a developer (rather than automatically by some kind of framework), the developer might not realize that the class has been improperly instantiated. The compiler cannot detect such a problem, and even if it is documented, there is no guarantee that the developer will see the documentation. JavaBeans are inherently mutable and so lack the advantages offered by immutable objects. Having to create getters for every property and setters for many, most, or all of them can lead to an immense quantity of boilerplate code.
JavaBeans API
Функциональность JavaBeans обеспечивается набором классов и интерфейсов в пакете java.beans. Интерфейс Описание AppletInitializer Методы этого интерфейса используются для инициализации компонентов, которые также являются апплетами. BeanInfo Этот интерфейс позволяет разработчику указывать информацию о событиях, методах и свойствах компонента. Customizer Этот интерфейс позволяет разработчику предоставлять графический пользовательский интерфейс для настройки компонента. DesignMode Методы этого интерфейса определяют, выполняется ли компонент в режиме проектирования. ExceptionListener Метод этого интерфейса вызывается при возникновении исключения. PropertyChangeListener Метод этого интерфейса вызывается при изменении связанного свойства. PropertyEditor Объекты, реализующие этот интерфейс, позволяют разработчику изменять и отображать значения свойств. VetoableChangeListener Метод этого интерфейса вызывается при изменении свойства с ограничениями. Visibility Методы этого интерфейса позволяют компоненту выполняться в средах, где графический интерфейс недоступен.
The JavaBeans functionality is provided by a set of classes and interfaces in the java. beans package. Interface Description AppletInitializer Methods in this interface are used to initialize Beans that are also applets. BeanInfo This interface allows the designer to specify information about the events, methods and properties of a Bean. Customizer This interface allows the designer to provide a graphical user interface through which a bean may be configured. DesignMode Methods in this interface determine if a bean is executing in design mode. ExceptionListener A method in this interface is invoked when an exception has occurred. PropertyChangeListener A method in this interface is invoked when a bound property is changed. PropertyEditor Objects that implement this interface allow the designer to change and display property values. VetoableChangeListener A method in this interface is invoked when a Constrained property is changed. Visibility Methods in this interface allow a bean to execute in environments where the GUI is not available.