java 接口中如何声明类似于重载的方法?

我们的作业要写一个web宠物医院管理系统,因为医生、客户等都包含浏览、添加、删除操作,所以对于service层,我希望有个统一的接口以供servlet中的类使用。


开始我是这样定义的:


public interface ServiceManager<T extends PetHospital> {

    boolean addOne(T arg);


    boolean deleteOne(int id);


    List<T> list(int page);

}

这样删除和浏览都没有问题,但是addOne(T arg)方法会造成在servlet层的类需要创建Hippiater等bean层里面声明的类,感觉这样做好像不太符合分层的设计,但是对于医生、客户、宠物等不同对象需要的参数是不一样的,我该怎么设计addOne方法来保证servlet层调用时只需要传这些对象需要的参数,而不是这些对象。


可能描述的不清楚,再解释一下:


我希望在接口里还是要声明addOne方法,但是能够接收不同参数(个数、类型都不一定),这样在service层还是可以优雅的实现这个接口。


对象及其属性包含的内容如下:


package bean;

//兽医

class Hippiater {

  private int id;//primary key

  private String name;//姓名

  private int workAge;//医龄

  private String speciality;//技能专长

}

//客户

class Customer {

  private int id;//primary key

  private String name;//姓名

}

//宠物

class Pet {

  private int id; //primary key

  private int masterId; //所属客户id

  private String breed; //品种

  private String name; //名字

}

//病历

class Record {

  private int id; //primary key

  private int petId; //宠物ID 

  private long recordTime; //病历创建日期

  private String diseaseDescribe; //病情描述

}

目录结构如下:


root

+- bean

+- DAO

+- service

`- web

上面的几个类在bean目录下,ServiceManager接口位于service目录下,为web目录下的类提供服务。

但我觉得应该不能让web下的类去操作bean目录下的类的实例,而应该提供其所需参数,交给service去处理

所有我的问题就是怎么设计我的ServiceManager接口来满足这个需求


PIPIONE
浏览 369回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java