我創建了一個類(ProjectsDataAccess)將處理訪問數據庫的構造函數訪問,這是什麼類的可以這樣做:我怎麼能控制在另一類
- 接收工程對象,並將其保存到數據庫。
- 通過id從數據庫中檢索項目並將其作爲Project對象返回。
這是類psudo代碼:
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),然後使用構造函數設置它。有沒有辦法改變我的設計。
我唯一的問題是,我有不同包中的項目類別和ProjectsDataAccess類及其困難的,因爲它包含了項目類的包在客戶端和服務器之間共享移動它。 – Jimmy
但是這是包的主要目標之一:隱藏客戶端代碼的內部。如果您將ProjectsDataAccess和構造函數Project(int id,String name)看作「內部」,那麼它們應該保留在同一個包中。 – dcernahoschi