我应该在Web应用程序的Java bean中添加对PropertyChangeSupport和PropertyChangeListener的支持吗?

前端之家收集整理的这篇文章主要介绍了我应该在Web应用程序的Java bean中添加对PropertyChangeSupport和PropertyChangeListener的支持吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到 some people编写bean,支持属性更改观察器模式.
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;

public class SampleBean implements Serializable {
    public static final String PROP_SAMPLE_PROPERTY = "sampleProperty";
    private String sampleProperty;
    private PropertyChangeSupport propertySupport;

    public ChartBean() {
        propertySupport = new PropertyChangeSupport(this);
    }

    public String getSampleProperty() {
        return sampleProperty;
    }

    public void setSampleProperty(String value) {
        String oldValue = sampleProperty;
        sampleProperty = value;
        propertySupport.firePropertyChange(PROP_SAMPLE_PROPERTY,oldValue,sampleProperty);
    }


    public void addPropertyChangeListener(PropertyChangeListener listener) {
        propertySupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
        propertySupport.removePropertyChangeListener(listener);
    }
}

但是,由于Web应用程序的无状态,我记得读者观察者模式在网络MVC模式中并不常用.

在Web应用程序Java bean中遵循上述模式是一个很好的做法吗?

解决方法

老实说,如果你真的需要这个功能,那就麻烦了.大多数Web应用程序不需要PropertyChangeSupport.我实际上不记得看到它被用在我看过的任何网络应用程序中.我只看到它被用于Swing应用程序.

Web应用程序中的一个典型的bean是一个非常短暂的对象,准备为单个请求提供服务,然后将其转换为空闲以进行垃圾回收.主要问题是Web应用程序是我自己的并发和多用户,这不会让自己更长寿的对象与监听器和事件等.

猜你在找的HTML相关文章