OO第四单元课程总结
OO第四单元总结
本单元的正向建模与开发
正向建模与开发是指从需求分析到模型设计再到功能实现的开发方式,在本单元第一次作业中,我尝试了先设计大致模型,确定出将要构建的类和它们至少需要包含的属性,以及几个关键功能的实现思路,再在此基础上完成代码设计,最后再根据代码完善类图;在后两次作业中,由于已经有了整体结构,动手之前就只考虑几个新增的关键功能的实现。
架构设计
本单元的最终设计类图如下:
由于在设计时为每类管理员以及图书馆部门都单独设计了类,并且后续扩展中需要实现多个图书馆,难以使用单例模式简化关系,因此类图中各个类之间的关系非常繁琐。本单元设计中的一个明显问题是过度在意了可扩展性,导致从最后结果看多了很多冗余设计,比如无用的管理员类,以及为每种图书记录的副本去向等,反而缺失了很多可以简化代码的抽象接口的实现,因此在设计时还是应该以当下需求为主,设计好能够更好解决当下问题的模型,无需考虑过多。
设计思维的演进
- 第一单元主要是对解析器的设计以及对表达式中各类结构及其关系的梳理设计,重点学到了如何从各个类之中提炼出抽象类,如何从更高级的抽象层次入手设计父子类。
- 第二单元引入了多线程,在设计时需要照顾到共享对象的访问以及死锁等多线程问题,不同于第一单元只需分析对象结构,该单元需要从有哪些线程、它们如何共享对象角度入手设计。
- 第三单元不涉及主体架构设计,只需要考虑局部数据是否需要采用动态维护,以及如何选用维护策略等局部问题。
- 第四单元的设计最为复杂,主要需要设计如何存储图书副本情况和预定情况,以及如何按照规定的逻辑处理流程。
测试思维的演进
测试主要靠自己构造的个别用例和讨论区的评测机。课程收获
通过一个学期的oo课程学习,我学到了很多。包括uml图的设计、规格的编写与阅读、单例等设计模式、多线程的知识等,也深刻理解了面向对象的设计思想。
相关推荐
北航OO课作业代码
北航OO课的作业代码,从电梯到出租车,你想要的都在里面。注释充足,供有需要的同学参考(切勿抄袭哦~)
ALV OO 模板
ALV OO 模板
ABAP OO的八个理由
1.ABAP OO具有更高层次的数据封装性 2.ABAP OO可以实现一个类的多个实例 3.ABAP OBJECT通过继承进一步增强了程序代码的可重用性 4.ABAP OO是你可以通过接口(interface)来调用对象的业务逻辑,而不是直接去使用对象,这样就避免了你需要详细了解每一个对象的特定功能 5.ABAP OO非常容易与事件驱动的模式结合在一块 6.ABAP OO更加明确所以更易于使用 7.ABAP OO具有更加清晰的语法和语义规则 8.ABAP的一些新技术只能通过ABAP OO来实现
ephec_java_oo:2014-2015 年 Java OO 课程期间进行的练习
Java 面向对象编程 在“Java Object Oriented Programming”课程期间进行的练习 - EPHEC 2014-2015
OO-ProgrammerV2
OO-ProgrammerV2


