其实问题与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 没有实质意义,只会把事情搞得更复杂。接口主要是用来对事物、概念进行抽象,便于人类思维格律对其进行建模、理解、处理,当抽象无法达成这几个目标,就是制造麻烦