网易云课堂–软件工程学习心得
一、软件工程实验
通过十周的学习,老师要求的网易云课堂–软件工程的学习,终于结束了。
从开始的对linux平台的不熟悉,到能够熟练运用linux书写代码,我相信大家和我一样都学到了很多。
这是学习的进度表
- 熟悉Linux实验环境
- 代码风格规范
- 基本的模块化设计
- 可重用模块的接口设计
- 可重用模块的接口设计(callback函数)
- 函数的可重入性(reentrant)及线程安全浅析
- 子系统的可重用设计
二、实验链接
实验一
https://www.shiyanlou.com/courses/reports/629507
实验二
https://www.shiyanlou.com/courses/reports/663518
实验三
https://www.shiyanlou.com/courses/reports/687206
实验四
https://www.shiyanlou.com/courses/reports/703182
实验五
https://www.shiyanlou.com/courses/reports/717841
实验七
https://www.shiyanlou.com/courses/reports/754222
实验代码库
http://git.shiyanlou.com/wecho/shiyanlou_cs122
三、 实验心得
学了软件工程以后,我就感觉我以前的学习方法是错误的。以前我只注重于代码,而不注重理论知识以及编程的思路,程序的架构。以至于在些程序时没有写程序的思路,不能形成程序的架构。只想到看脑袋里是否有与此类似的代码。越想程序越乱,最后脑袋里一片空白。
通过老师视频上的讲解以及动手敲代码,让我明白了
1、软件设计的目的:重用性、扩展性。
这是最高的层次,是应对软件危机的需要。
2、设计原则:低耦合、高聚合。
各种软件设计的原则,如依赖倒置原则、单一职则原则、面向接口等,以及各种设计模式,其根本的目的其实只是为了降低耦合这么简单。因为只有低耦合才能更好的适应变化,更好的重用和扩展。
3、实现方法:运用设计模式封装变化、降低耦合。
设计模式只是用来“封装变化、降低耦合”的工具而已。它是面向对象设计时代的产物,其本质就是充分运用面向对象的三个特性,即:封装、继承和多态,进行灵活的组合运用。