OO第四单元课程总结
OO第四单元总结
本单元的正向建模与开发
正向建模与开发是指从需求分析到模型设计再到功能实现的开发方式,在本单元第一次作业中,我尝试了先设计大致模型,确定出将要构建的类和它们至少需要包含的属性,以及几个关键功能的实现思路,再在此基础上完成代码设计,最后再根据代码完善类图;在后两次作业中,由于已经有了整体结构,动手之前就只考虑几个新增的关键功能的实现。
架构设计
本单元的最终设计类图如下:
由于在设计时为每类管理员以及图书馆部门都单独设计了类,并且后续扩展中需要实现多个图书馆,难以使用单例模式简化关系,因此类图中各个类之间的关系非常繁琐。本单元设计中的一个明显问题是过度在意了可扩展性,导致从最后结果看多了很多冗余设计,比如无用的管理员类,以及为每种图书记录的副本去向等,反而缺失了很多可以简化代码的抽象接口的实现,因此在设计时还是应该以当下需求为主,设计好能够更好解决当下问题的模型,无需考虑过多。
设计思维的演进
- 第一单元主要是对解析器的设计以及对表达式中各类结构及其关系的梳理设计,重点学到了如何从各个类之中提炼出抽象类,如何从更高级的抽象层次入手设计父子类。
- 第二单元引入了多线程,在设计时需要照顾到共享对象的访问以及死锁等多线程问题,不同于第一单元只需分析对象结构,该单元需要从有哪些线程、它们如何共享对象角度入手设计。
- 第三单元不涉及主体架构设计,只需要考虑局部数据是否需要采用动态维护,以及如何选用维护策略等局部问题。
- 第四单元的设计最为复杂,主要需要设计如何存储图书副本情况和预定情况,以及如何按照规定的逻辑处理流程。
测试思维的演进
测试主要靠自己构造的个别用例和讨论区的评测机。课程收获
通过一个学期的oo课程学习,我学到了很多。包括uml图的设计、规格的编写与阅读、单例等设计模式、多线程的知识等,也深刻理解了面向对象的设计思想。
相关推荐
北航OO课作业代码
**测试与调试**:作业中很可能包含单元测试代码,用于验证各个功能模块的正确性。JUnit是Java中常用的单元测试框架,通过编写测试用例,可以检查代码的正确性和性能。
ALV OO 模板
**`it_output`**:这是一个表型数据结构,用于存储ALV的输出数据,包括列标记、文档编号、项目编号、图标、文本、单元格颜色和单元格样式等字段。 2.
ABAP OO的八个理由
尽管转向OO模式可能需要一定的学习曲线,但长期来看,ABAP OO的优势将显著提升开发效率和软件质量。因此,即使在现有项目中,逐步引入ABAP OO的概念和实践也是值得的。
ephec_java_oo:2014-2015 年 Java OO 课程期间进行的练习
在EPHEC的2014-2015年Java OO课程中,学生们深入学习了这些核心概念,并通过一系列练习来强化理解。首先,我们要理解Java语言的基础。
OO-ProgrammerV2
在"OO-ProgrammerV2"项目中,可能包含以下内容:- 示例代码:展示了如何在Java中实现面向对象编程的概念。- 课程材料:包括教程、文档、PPT等,解释OOP的理论和实践。


