![模式:工程化实现及扩展(设计模式Java 版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/935/655935/b_655935.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
示例项目使用说明
1.工作区(Workspace)的创建和整理
1)创建Workspace
首先,在开始编码、设计具体的项目前,如果读者是项目的技术负责人,那么首先要做的就是建立Workspace(而不是具体的Project),如图A1-1所示,并从整体上规划开发成果的布局。
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0006-765.jpg?sign=1739251933-M2tb9NAdndwlPX5y82MLjGR8vwMIFUF2-0-9edf3c6fa3642855365c54078a0385c7)
图A1-1 在Eclipse中建立Workspace
2)定义文件目录
接着,需要通过文件目录整体上规划项目过程产品和交付成果的布局,本书采用如图A1-2和图A1-3所示的规划。
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0006-772.jpg?sign=1739251933-TAQa45DlIZUDYYlUJSzGeC8K2hIztasO-0-bcab2cda4c5a0bb2d33c47add96ee56f)
图A1-2 本书示例Workspace的布局
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0007-786.jpg?sign=1739251933-p8Nx268GM3uCm06Nx2sKWomcmcSors9K-0-68f54022307c9975b98847db184d123b)
图A1-3 实际项目文件夹布局
其中:
●文件夹lib存放需要引用外部的.class、.jar、.war文件。
●文件夹practicalpattern存放各个模式示例类型源代码。
●文件夹practicalpattern.unitTest存放各个模式示例的单元测试程序。
此外,doc文件夹用于保存文档。
3)定义项目包空间
完成Workspace文件夹的定义后,需要妥善定义项目中各个包名称,如图A1-4所示。
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0007-793.jpg?sign=1739251933-MEBQpgS611k5y0ekMB8Bm7qDLA1lB5O5-0-f271b89053abbfc934a1f952f7c530c6)
图A1-4 定义包空间
2.准备单元测试环境
由于本书重在介绍各模式的工程化实现,建议读者采用单元测试跟踪(Trace)的方式学习每个示例,而不是通过建立Console甚至是JSP、AWT/Swing项目去学习示例,因为后者往往需要浪费不少的时间去做与模式实现和使用无关的事情。
本书所有单元测试示例都是基于JUnit 4.x完成的,读者可以通过JUnit 4.x执行和调试本书所有示例。
1)执行单元测试(如图A1-5和图A1-6所示)
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0008-811.jpg?sign=1739251933-Wlpx8OKtu1H38tCtEmiAzMHhU4IL8rXS-0-4f1338894f8e74d21363ba8048ea8d71)
图A1-5 执行单元测试
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0008-816.jpg?sign=1739251933-2X7kOGcT13DYb3SLMdGrUZ2GaY97ER6F-0-cea43c05468db84a7ca493bc4e30ead5)
图A1-6 确认单元测试执行效果
2)调试单元测试示例(如图A1-7和图A1-8所示)
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0009-832.jpg?sign=1739251933-na6rLuQ6Bq2tBHwAsCCkxxyE47tTkhNT-0-62d0ed23a4264d052f980e98f5176083)
图A1-7 通过JUnit 4.x调试单元测试示例
![](https://epubservercos.yuewen.com/DF3662/3590311703935001/epubprivate/OEBPS/Images/Figure-0009-837.jpg?sign=1739251933-TTnHa7ZZIxqwuZxg5qDNcaiqW0PDuF7t-0-2b9b152aa36f40afbd232b8e46579ada)
图A1-8 跟踪调试情况