我應該在父接口中使用add和remove方法嗎?複合設計模式:我應該在父界面中插入add()和remove()嗎?
public interface Employee {
public void add(Employee employee);
public void remove(Employee employee);
public void print();
}
Developer implements Employee{
. @Override
public void add(Employee employee) {
//this is leaf node so this method is not applicable to this class.
}
@Override
public void remove(Employee) {
//this is leaf node so this method is not applicable to this class.
}
.....
......
}
Manager implements Employee{
List<Employee> employees = new ArrayList<Employee>();
public void add(Employee employee) {
employees.add(employee);
}
@Override
public void remove(Employee employee) {
employees.remove(employee);
}
............
............
}
我的設計是否符合複合設計模式?
我會將這兩種方法都移入管理員專用接口,然後可以擴展'Empl oyee'。對我來說,「正常」員工可以「添加」或「刪除」其他員工是毫無意義的。 – Tom
謝謝湯姆!我從互聯網上找到了這個代碼。 – Touchstone