我在我的Java应用程序中使用TopLink持久性库和MySQL数据库。
我开发了几个桌面应用程序使用的类库,它包含一些特定于我的项目的类。类彼此链接,通常具有一对多关系。
我希望DB Entity类和Project特定的类是分开的。
我应该如何开发这些类之间的通信(继承,使用或其他什么?)。在将项目特定类加载(或放入)数据库时,应如何开发项目特定类之间的关系?
答案 0 :(得分: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部分,您首先需要获取模型提供者的实例,并通过模型提供者进行所有进一步的交互。