データベースへのアクセスを処理するクラス (ProjectsDataAccess) を作成しました。これがクラスでできることです。
- Project オブジェクトを受け取り、データベースに保存します。
- データベースから ID でプロジェクトを取得し、それを Project オブジェクトとして返します。
これは、クラスの疑似コードです。
class ProjectsDataAccess {
public void addProject(Project project) {
// get the project data from the object and save it to the database
}
public void getProject() {
// get the project data from the database and return new project
//object with that data
}
}
これがプロジェクト オブジェクトです。
class Project{
private String name;
private int id;
private Project(){}
Project(int id, String name){
this. id = id;
this.name = name;
}
Project(String name){
this. id = // generate id
this.name = name;
}
}
私の問題は、クラスのユーザーがこのコンストラクターを使用してオブジェクトを作成し、独自の ID を提供することをProject(int id, String name)
望んでいないことですが、 ProjectsDataAccess クラスのみがそれを使用するようにして、データベースからデータを取得できるようにすることです (ID を含む)そして、コンストラクターを使用して設定します。そうするためにデザインを変更する方法はありますか?