السلام عليكم
عندما نقوم بتصميم Objects ل database tables
كمثال جدول الموظفين و جدول المنطقة
public abstract class Common{
protected int id;
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
public boolean insertToDb();
public boolean updateToDb();
public boolean deleteFromDb();
}
public class Employee extends Common{
private String name;
private int age;
public Employee(int id){
this.id = id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
//********************************************************************************
***********************************
public static List<Employee> getList(){
// you code to get a list of employees here
}
//********************************************************************************
************************************
public boolean insertToDb(){}
public boolean updateToDb(){}
public boolean deleteFromDb(){}
}
public class Region extends Common{
private String name;
public Region(int id){
this.id = id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
//********************************************************************************
***********************************
public static List<Region> getList(){
// you code is here
}
//********************************************************************************
***********************************
public boolean insertToDb(){}
public boolean updateToDb(){}
public boolean deleteFromDb(){}
}و هنا هل تفكيري صحيح بالنسبة لوضع getList
في الشيئين Employee و Region
أوَ ليْسَتْ Common Behavior
و لكنها لا تعتمد على Object Employee لأنها ليست مثل insertToDb و غيرها تحتاج Object لتفعيلها لإعتمادها على variables
و أما getList فإنها تستقل عن Object Employee
و عندما تكون static لا أقدر على وضعها في Object Common
لتصبح Common Behavior
و لكن هل أحتاج لدى كل نداء لها لإنشاء object جديد كي اتمكن من وضعها ك Common Behavior
//Which is Right and Better? //1- Static Use: Employee.getList(); //2- Behavior use: Employee e= new Employee(); e.getList()
و لذا و كما ترون كي أصمم getList ك Common Behavior لأنني أمنع لدى إستخدامي ل static
علي أن أنشئ object جديد لدي كل إستخدام فهل الحل الوحيد كي تكون Common Behavior
أن أقوم بإنشاء object جديد في كل مرة؟
