java 接口中如何声明类似于重载的方法?
我们的作业要写一个web宠物医院管理系统,因为医生、客户等都包含浏览、添加、删除操作,所以对于service层,我希望有个统一的接口以供servlet中的类使用。
开始我是这样定义的:
public interface ServiceManager {
boolean addOne(T arg);
boolean deleteOne(int id);
List 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接口来满足这个需求
相关阅读:
ssh中处理级联关系的机制,跟流程
iOS 7 iOS7 下 push pop 如果animated设置为YES 会导致页面控件位置变化,这怎么解决 !!!
富文本编辑器怎么做到防注入
myactivity.this/getActivity()在Fragment中不可通用的原因
J2EE SSH开发有前端JSP和后端JAVA分别由不同人开发的吗,如何协作?
请问开源项目常用的字符logo是怎么生成的?
passport模拟登陆时refreshetoken刷新
高德地图如何实现类似于微信发送地理位置的功能?
web前端都用API接口,jQuery的同步Ajax来请求数据;
我用bootstrap为什么缩小屏幕的是时候,轮播图里的三个小圆点的位置会偏呢?
ajax服务端脚本防止请求攻击的方法
引入同一个头部文件,导航点击当前项,怎么能保证只有当前项保持高亮?
如何将序列中的中文元素正常输出,而不是16进制编码
windows 下没有memcached ! 只有memcache 是不是
angular ui-bootstrap 的carousel 插件 如何将切换效果改为渐隐渐现?
请教一个APP端与服务端同步数据的思路
python twisted 源码修饰符C L
怎么从mysql中随机取出10条数据?
javascript 原型链和闭包问题
如何修改他人在github.com上的源码