0

Java アプリケーションの MySQL データベースで TopLink 永続ライブラリを使用しています。

いくつかのデスクトップ アプリケーションで使用されるクラス ライブラリを開発しました。これには、私のプロジェクトに固有のクラスがいくつか含まれています。クラスは相互にリンクされており、通常は 1 対多の関係です。

DB Entity クラスと Project 固有のクラスを分けたい。

このクラス間の通信をどのように開発すればよいですか (継承、使用など?)。プロジェクト固有のクラスをデータベースにロード (または配置) するときに、プロジェクト固有のクラス間の関係をどのように開発する必要がありますか?

4

1 に答える 1

2

デスクトップアプリケーションなので、UIベースのアプリケーションだと思います。したがって、MVCアーキテクチャがここで最も適しています。また、モデルへの非同期アクセスにはJavaBeanを使用する必要があると思います。

まず、必要なすべての定義を使用してモデルを定義します。

言わせて

        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 に答える