Java 谁来决定?调用方还是方法的业务逻辑?建筑风格
昨天我讨论了一种体系结构编码风格,以及方法的调用方或方法的逻辑是否应该做出决定 现在如何(简化): 有一个类Java 谁来决定?调用方还是方法的业务逻辑?建筑风格,java,oop,generics,methods,architecture,Java,Oop,Generics,Methods,Architecture,昨天我讨论了一种体系结构编码风格,以及方法的调用方或方法的逻辑是否应该做出决定 现在如何(简化): 有一个类页面,其属性为列表 public class Page { private String name; private List<Hotel> hotels; } 在我看来,管理方法参数的状态不是一个好主意 如果方法是类的一部分,我们只需删除第一个参数: class Page { ... public void fillPageWithHotel
页面
,其属性为列表
public class Page {
private String name;
private List<Hotel> hotels;
}
在我看来,管理方法参数的状态不是一个好主意 如果方法是类的一部分,我们只需删除第一个参数:
class Page {
...
public void fillPageWithHotels(List<DummyInfo> dummyInfos){
...
setHotels(hotels);
}
}
类页面{
...
酒店公共页面(列出dummyInfos){
...
赛特酒店(酒店);
}
}
否则,它可能是一种实用方法:
class Factory {
public static List<Hotel> createHotels(List<DummyInfo> dummyInfos){
...
}
}
...
page.setHotels(Factory.createHotels(dummyInfos));
类工厂{
公共静态列表createHotels(列表dummyInfos){
...
}
}
...
page.setHotels(Factory.createHotels(dummyInfos));
如果打电话的人不能决定他需要什么类型,他就不能指定泛型。谢谢你的回答。用另一种方法更新了我的答案。你们怎么看?正如我所说的,若这个方法的用户不能决定他需要哪个实现作为返回类型,那个么泛型是无用的。OOP的一个原则是“编程到接口而不是实现”,我之前的评论适用于您的初始目标“调用者不关心页面信息是如何设置的”。
class Page {
...
public void fillPageWithHotels(List<DummyInfo> dummyInfos){
...
setHotels(hotels);
}
}
class Factory {
public static List<Hotel> createHotels(List<DummyInfo> dummyInfos){
...
}
}
...
page.setHotels(Factory.createHotels(dummyInfos));