/** * 课程管理接口 * 体现接口隔离原则和依赖倒置原则 * 定义课程管理的核心功能 */ package com.employeetraining.course; import java.util.List; import java.util.Optional; public interface CourseManager { /** * 添加新课程 */ void addCourse(Course course); /** * 更新课程信息 */ boolean updateCourse(Course course); /** * 删除课程 */ boolean deleteCourse(String courseId); /** * 根据ID查找课程 */ Optional findCourseById(String courseId); /** * 根据类别查找课程 */ List findCoursesByCategory(String category); /** * 查找所有必修课程 */ List findRequiredCourses(); /** * 获取所有课程 */ List getAllCourses(); }