本项目用于学习和训练Java语言面向对象程序设计知识和技能。本项目包括20个小项目,由浅入深地逐步练习Java语言面向对象的各个特性以及使用多种设计模式,构建高效的、可扩展的实战项目。在本系列项目中,将会练习类和对象的创建、继承特性、多态特性、接口的设计、创建个性化标注、使用函数式编程等特性。在实现的过程中,还会使用工厂模式、建造者模式、单例模式、适配器模式、组合模式、策略模式、状态模式、享元模式、订阅者模式、责任链模式、代理模式、装饰模式、中介者模式、迭代器模式、对象池模式、空对象模式等16种设计模式,开发出逻辑清晰、扩展性好的工程项目。
本项目的应用背景为开发一个小水滴校园管理系统。该系统的主要功能围绕着学生在校园中的生活展开,使用场景和主题包括:学生、课程、教授的数据建模;课程注册、课程信息读取、课程查询、答疑、完成实验报告、租用实验设备等日常学习生活中常常发生的事情。项目的全景,包括项目结构、内容分布、训练的知识点等如下图所示。
图一 项目全景图。
在本项目全部完成之后,学员能够开发出一个包含11个包、67个源代码文件的中型项目。项目完成后的文件与目录结构如下所示。
图二 项目目录全景图。
在开始本项目之前,小水滴建议学员先学习Java编程语言的基本概念、设计模式和Maven工程管理工具的内容。
因为本系列项目包括20个子项目,它们前后相连。小水滴建议从第一个项目"创建类和对象"开始,逐步完成。项目的全部内容可在小水滴提供的项目环境中运行。项目环境支持项目编译、项目运行和项目测试。
本系列实战项目包括