其实问题与jfinal没有太大关系,但习惯性的喜欢来这里请教,还请 @JFinal 海涵
假设有这样一个Interface:
public interface UserInterface {
//...
}然后呢,个别Model实现这个Interface,比如:
public class User extends BaseUser<User> implements UserInterface {
//...
}这样做的目的,是想对某些Service进行抽象,比如:
public interface UserServiceInterface {
public List<UserInterface> findUser(int age);
}最后UserServiceInterface的实现类中:
public class UserService implements UserServiceInterface {
public List<UserInterface> findUser(int age){
List<User> users = User.dao.find("select...");
//return users; //无法自动将List<User> => List<UserInterface>
List<UserInterface> iusers = new ArrayList<UserInterface>();
iusers = Arrays.asList(users.toArray(new UserInterface[0]));
return iusers; //类型转换完成,返回
}
}这样的话,效率肯定会受到影响。
写不下去了,心里明白应该是我的设计思路有问题
其实目标只想将Service抽象出来,实现某些底层Model与外部逻辑的解耦,便于在重写Service时不至于对底层业务产生影响。
想知道这种情况该如何处理
项目:JFinal
上面这些 interface 没有实质意义,只会把事情搞得更复杂。接口主要是用来对事物、概念进行抽象,便于人类思维格律对其进行建模、理解、处理,当抽象无法达成这几个目标,就是制造麻烦