我必须使用EWS Java API来调用Exchange Server。 在这个API中,有一个Task类,它有超过20-30个不同属性的getter。 在我们公司,我们将只使用4-5个房产;联系和约会的同意。
在我看来,我认为编写一个迷你API可能更实际,因此开发人员可以更容易地找到他们必须用于三个项目(约会,任务,联系人)的4-5属性。
我刚创建的ExtendedTask必须从原始API扩展Task类吗?如果是,我是否必须在ExtendedTask中创建4-5属性,因为它与父类有关?!
如果你是我,你会怎么做?使用原始课程?创建一个子类?创建另一个不扩展Task类的类?
谢谢你的帮助
答案 0 :(得分:2)
使用Facade模式。创建一个类,该类封装了用户为了使用与任务相关的3个任务(约会,任务,联系人)所需的所有逻辑。
使用此“Facade”类会隐藏最终用户的实际实现逻辑(原始API),因为大部分API都未使用。
//pseudo code
class MyAPIFacade {
@Inject
OriginalAPI api;
public Task getTask() {
return api.getTask();
}
public Appointments getAppointments() {
return api.getAppointments();
}
public Contact getContact() {
return api.getContact();
}
}