17.3 代码实现参考
2025年09月21日
17.3 代码实现参考
【代码17.1】IDeptService接口
【代码17.2】IEmpService接口
【代码17.3】DeptServiceImpl类
【代码17.4】EmpServiceImpl类
【代码17.5】ServiceFactory类
说明:
在业务方法中,一些相关联的操作必须要共同完成,不能只完成其中的一部分,不然就会造成数据的不一致。例如,对于员工,当添加新员工时,添加员工和将相应部门人数加1这两个操作要么同时执行,要么都不执行,不能只执行两个操作中的一个。相似的相关联操作还有,在删除员工的时候,删除员工和将相应部门人数减1这两个操作,以及在修改员工的时候,修改员工的部门编号和将相应部门人数改变这两个操作,等等。
对于若干个操作,要么都执行,要么都不执行,这属于事务管理,这是业务层必须完成的内容。在本书中没有实现事务管理的部分。
另外,在很多情况下,部门是不会被删除的,员工离职也是不会被删除的,只是给员工加入一个状态属性来记录是“在职”还是“离职”,这些在本书中都做了相应的简化处理,将删除的员工和部门(如果部门人数为0的话)都直接从数据库中删除。在实际项目中,要根据实际需求进行实现。
业务层主要类之间的关系见图3.17.1。
图3.17.1 业务层主要类的关系图