OO fourth unit summary

Foreword

 OO fourth course units and over, this also means that own learning OO regarded as an end. Next, I will summarize the five aspects to some conclusions learning OO UML unit and the entire course.


 

 

Architecture design

 

The first job

Program analysis:

For information classes are to be stored for example Class and InterFace, as well as in Operation Class, you are a class to create a separate process. The most established method of construction is completed into working, which can increase efficiency and avoid duplication of computing operations.

Complexity analysis:

Two job has the same bug, that is, there is little problem in dealing with their own interface above, when the output of a class that implements the interface, there will not encounter the phenomenon of repeated output.

Second job

Program analysis:

And on a similar architecture, the transition, State, there StateMachine have established their own information such as a store, then query operation, and so on.

Complexity analysis:

bug like last time, the last time did not actually test out ...


 

 

The evolution of the four units in structuring and understanding of OO methods  

 

When the first unit, I basically follow when learning C language habits of the methods used to accomplish the task of OO, I was not in accordance with the object of establishing what each thought the request form to become a pilot of an abstract class , but completely oriented process, step by step, split, then the derivative. The consequence is that every time we re-written from scratch, there is no scalability. But when the third job felt gradually have thought a little bit of object-oriented class is carved in several cases became a factor derivation of derivation, respectively, but they did not really abstracted into a class, into objects can be achieved.

The second unit is a multi-threaded elevator, because it really can not process-oriented, and I used the object-oriented thinking and architecture. People's input process, Elevator process, and a scheduler are respectively set up a class, and then pass information between class and class, is possible only when there is a conflict between the synchronizing access to resources of each other, this architecture model throughout I work three times. Every time I only need to modify the place look like elevator operation mode of the elevator, as well as scheduling algorithm scheduler will be able to make their own program with scalability.

第三单元是JML语言的学习。这个单元主要是通过JML语言的描述,实现相应的接口,说实话只需要按部就班的完成就可以了。但是因为这个单元加入了性能的测试,所以有时候成绩会非常惨。JML只是告诉了你需要完成什么任务,输入输出都分别是什么,但却不限制你的实现方法,因此需要综合进行考虑。时间因素和空间因素都要考虑在内。同时这个单元真正做到了面向对象的继承思想,一点一点,从一个抽象的接口,变成一个可以实现的地铁图。

第四单元只有两次作业,主要是UML语言的学习,方法依旧是上个单元的方法,通过对UML的类图,状态图,以及顺序图的解析和查询,我了解了UML语言和图的结构,以及基本的操作。感觉这个单元的难度并不是特别大,可能是自己已经适应了OO的节奏方法了。在最后一次作业中,也是完成了一个千行的代码,能够查找UML的三类图的相应的信息。


 

 

四个单元中测试理解与实践的演进

 

第一单元的时候主要是在格式上面进行的测试,因为求导上面相对而言没有太多的问题。碰到的错误也基本上就是在输出小错误,以及各式上面判断的问题,很快就可以进行改正。

第二单元的时候自己的代码没有遇到什么问题,然后在测试别人的时候,总想着会不会有什么不注意的问题,然后发现漫无目的的找根本没用,还是应该通过发现其中的逻辑问题来定位构造测试用例。

第三单元和第四单元遇到bug的时候基本上都是一个整体上的架构问题,或者至少也是一类上面的疏忽,修改起来相对复杂也困难,很容易造成其他方面又出现错误。


 

 

课程收获

 

首先是在技术层面上,那就是熟练的掌握了Java这门语言。在开学的时候,我还是一个写A+B都很困难的萌新,但是在结束的时候,我可以光导入import就导入50多个啦,可以一周之内写完一个千行的project。然后我在学习过程中,理解并能应用了多线程,理解多线程的运行模式,并且完成了一个有三个电梯的调度系统的project。还有就是理解了JML,和UML两种语言,并且能够根据他们的描述完成相应的任务。然后就是对整个面向对象思想的理解。再上这门课之前,我也并不了解什么是面向对象,但是在不断的学习中,我好想逐渐学会了,知道如何去抽象,如何去建立一个个类,并且把他们实例化成为一个个可以调用的对象,通过对象之间的信息交换,来完成所期望的功能。OO是一种思想,一种解决问题的思维方法,通过抽象,再实例化,可以完成一个个看似非常庞大的任务。

然后是在心态上,练就了抗压能力。每一次在完成一个project的时候,都是信心备受摧残的时候,每一次当你刚刚写完,并且编译运行的时候,总是抛出一堆异常,然后耐着性子改,真的很折磨人的内心。还有就是碰到有bug的时候,一点点定位查找修改的过程,也非常考验人的内心。不过还好,这些都算是过去了。


 

 

改进建议

 

上午上课下午上机考试,属实有点太难顶了。每一次中午都还要仔细复习一下,或者学习。是否可以降低一点实验难度或者,改成周六啊。

降低强测的占比吧,这好不容易过了中测,才给15分,有点少吧,每一次要是强测点错一半,其实和这次作业没做也没差多少了。

可上可以多讲讲又滚作业的推荐架构什么的最好,详细一点的,要不自己想的千奇百怪不说,主要是开始时候自己没有面向对象的思想啊,建议前几次作业给个推荐的架构,更能方便理解。


 

 

就到这里啦。

Guess you like

Origin www.cnblogs.com/17373366-masterpan/p/11050517.html