计划实现的bonus: - 缓存 - 并发 有时间打算实现的bonus(按优先级次序排序): 1. GUI前端和完整部署方案 2. UTF-8中文支持 3. Validator # 模块划分 整个程序分为核心和前端两部分,核心即主体部分 ## 核心 核心只有一个可执行文件,书店实例通过配置文件夹来决定(默认为当前目录下`.bookstore`文件夹,亦可通过命令行参数指定)。当书店系统在运行时,有且仅有一个core进程,它实际响应查询、维护数据库并与磁盘交互,有一个或多个session进程,进程间用命名管道通讯 ### core进程 #### 数据库模块 维护相关数据,支持并发 #### 引擎模块 具体执行业务,支持并发 #### 通信模块 负责维护与session进程之间的通讯,向引擎模块发送请求,并把响应返回给session进程。支持并发 ### session进程 提供命令行的会话方式,交互本身可以支持(对接前端)或不支持(用户直接操作session) ## 前端 ~~不清楚有没有时间写~~。WebUI,采用`Node.JS`+`Socket.IO`,~~不打算弄得很好看,不打算支持响应式设计~~,支持图形操作和“云命令行”。