0

我在我的 Java 应用程序中使用 TopLink 持久性库和 MySQL 数据库。

我开发了几个桌面应用程序使用的类库,它包含一些特定于我的项目的类。类相互关联,通常具有一对多的关系。

我想让 DB Entity 类和 Project-specific 类分开。

我应该如何开发这些类之间的通信(继承、使用或其他什么?)。在将项目特定类加载(或放入)到数据库时,应如何开发它们之间的关系?

4

1 回答 1

2

我想既然它是一个桌面应用程序,它是一个基于 UI 的应用程序。所以MVC架构最适合这里。另外我猜你必须使用 Java bean 来异步访问模型。

首先定义一个具有所有所需定义的模型。

让我们说

        class person
{
        public PropertyChangeSupport propertyChange = new PropertyChangeSupport(this);

        private String firstName;
        private String middleName;
        private String lastName;
        private int gender;
        private Integer age;
        .
        .

        set Fname(String firstName)
        {
                      propertyChangeSupport.firePropertyChange("firstName",this.firstName,this.firstName         = firstName);
        }
        .
        .
        .
        public void setPropertyChange(PropertyChangeSupport propertyChange) {
                this.propertyChange = propertyChange;
        }


         public PropertyChangeSupport getPropertyChange() {
                return propertyChange;
         }

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

}

现在我们需要一个模型提供者,这将是一个单例模式。

class PersonMOdelProvider
{

private static List<Person> lst ;
private static PersonMOdelProvider content;
private PersonMOdelProvider()
{
  // Get data from data base layer.
  lst = new ArrayList<Person>();
  //load the list from database
}

public static PersonModelProvider getInstance()
{
 if (content!=null) return content;
content = new PersonMOdelProvider();
return content;
}

.
.
.
set ... get methods for binding db with model. 

}

现在在 UI 部分,您首先需要获取模型提供者的实例,并通过模型提供者进行所有进一步的交互。

于 2010-11-11T03:25:35.847 回答