# 图书馆管理系统 **Repository Path**: wellme/library-management-system ## Basic Information - **Project Name**: 图书馆管理系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2023-12-05 - **Last Updated**: 2023-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图书管理系统课程设计项目报告概述 ## 项目概述 这个项目是用C++语言开发的图书管理系统,具有基本的添加、删除、修改、查询、借还、续借等功能。 ## 功能模块 - 图书管理:包括添加图书、删除图书、修改图书信息等。 - 借阅管理:包括借阅图书、归还图书、续借图书等。 - 查询功能:支持按照不同条件查询图书,如书名、作者、分类等,还可以查看借阅记录。 - 界面交互:使用UI类设计界面交互,不同功能模块单独封装成类。 - 数据持久化:使用文件操作读写图书和借阅记录数据。 ## 系统架构与设计模式 - 三层架构设计:包括数据访问层、业务逻辑层和表现层。 - 单例模式:使用单例模式来获取Manager类的唯一实例。 - 策略模式:根据不同的索引调用不同的子界面类操作。 - 职责链模式:各个子界面类封装独立的职责,形成层级调用的职责链。 - 迭代器模式:使用迭代器遍历图书和借阅记录容器进行操作。 - 装饰器模式:UI类抽象界面基础功能,子界面类对功能进行扩展。 - 文件IO:使用文件输入输出流读写二进制文件实现数据持久化。 ## 程序分层 - 业务对象层:包括Book类和BorrowingRecord类,用于描述图书和借阅记录对象。 - 数据访问层:Manager类负责对图书和借阅记录进行增删改查操作。 - 业务逻辑层:UI及其子界面类处理界面展示和用户交互任务。 - 表现层:main函数负责主界面对象实例化和启动驱动程序。 - 文件操作层:FileHandler类完成文件读写和数据转换工作。 ## 运行流程 系统启动后,main函数实例化mainUI对象,mainUI对象调用Manager单例初始化数据。然后mainUI对象启动界面循环,驱动用户输入交互。根据用户选择,调用不同的子界面类操作对应的业务逻辑。子界面类通过策略模式调用Manager类进行数据操作,文件存取类负责读写和转换数据至文件实现持久化。界面交互采用MVC模式,分离表现控制和业务逻辑。程序结束时,调用Manager单例保存数据。 ## 总结 该项目运用了多种设计模式,结合三层架构实现了一个基本完整的图书管理系统。界面交互清晰,功能模块完备,数据操作流畅。体现了面向对象程序设计的优点。