软件构造这门课带给我什么

经过后半段学期的不断学习,明天就是期末考试,其实心理依旧很紧张,这门课的学习过程并不算轻松,但幸好付出都会有回报,这门课对我来说不仅仅是一门编程课,更是开拓了我的视野,让我不止单单执着于一个函数一个方法的正确性和性能,更是有更大的格局去审视整个系统,不断从客户端去考虑,不断去想我是否满足其他的外部质量属性,是思想上的一种蜕变,感谢老师一学期的辛苦讲解!

1.课程介绍了多个软件系统的质量因素,包括外部质量因素如正确性、可拓展性、可复用性等等以及内部质量因素,这就为我们在编写代码时提供了大方向,总目标。也是只有这样才能创造出与用户友好,与其他程序员友好,便于自己后续修改拓展的程序!

2.加深对于ADT以及ADT设计的理解。在学本门课程之前,在数据结构课程中其实已经接触到ADT的概念了,但是犹如蜻蜓点水,浅尝辄止,理解并不深刻。ADT并不只是数据的简单集合,而是由定义在其上的抽象操作而区分。由此,允许我们以不同的数据集合来定义外部表现相同的ADT,这也就引出了表示与表示独立性的概念,同时为了保证外部表现的一致性,我们通常使用接口来保证这一点。几个概念环环相扣,使ADT的概念丰富饱满起来了。

3.OOP中的继承与委派。对象为我们带来了现实世界中各个事物的模拟,而继承则模拟了现实事物中的一种关系,继承可以帮助我们复用代码。当父类型的绝大多数特性、方法都可以被复用,那继承可以很好地发挥作用;但当我们只想利用其中的一部分时,这时就该委派登场,委托为我们带来更松耦合的复用,并且可以实现特性的组合,继承与委派可以说是贯穿了整个编程过程的核心概念。我更是非常喜欢老师说过的一句话:继承是在class层面的。委派是在对象层面的。这句话很好的解释了继承与委派的区别与联系。

4.一些质量指标的设计模式,可处理多状态的state模式,利用继承+委托递归调用实现特性组合的decorator模式,为所有类型实现统一遍历的iterator模式等等,其实个人认为这些模式都是接口抽象+继承+委派的巧妙使用,每个设计模式有其适用场景,也有其带来的便利与缺点,在合适的场景选择合适的模式可以为我们软件的构造过程带来极大便利,这一点在实验三中体会很深刻!

5.使用异常来使我们的程序更加友好。健壮性良好,少不了异常的帮助。异常处理可以使我们程序中正常与处理异常情况的代码较为分明,而且异常提供的信息也往往可以帮助我们对错误情况进行认识、修正。

总的来说,付出终有回报,希望大家明天都能取得好成绩!
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值