您申请加入课程:软件构造

软件构造

华南师范大学软件工程专业

https://www.scholat.com/course/rjgz
  • 创建者

    Creator

    潘家辉
  • 活跃度

    Activeness

  • 访问量

    Visits

    79855

教学公告

19软工 第1周安排
[作者: 潘家辉  发布时间:2022-02-20 17:29:44  浏览次数:1375次]

一、教学安排

自学第2章的内容 24-47

讲授第3-4章的内容48-76

实验作业已布置

http://www.scholat.com/course/rjgz

视频资料(若因疫情原因不能回校,可以到砺儒云课堂观看线上授课视频)

https://moodle.scnu.edu.cn/course/view.php?id=9522


二、重点难点

1、设计模式的起源、定义、以及作用

2、理解软件构造与设计模式的关系

3、理解创建型模式

4、简单工厂模式的结构和分析


三、课前思考

小明到A公司进行笔试,题目如下:

请用C++JavaPythonC#任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符,得到结果。


四、师说

设计模式是软件工程师的必备技能之一,在各种面试宝典里面是经常看到的,这意味着公司在面试过程(特别是编程面试)中会有非常大的几率碰到相关的题目。在公司中接手旧项目(接盘前任的代码)还是参与新项目(设计能力不能丢人),你都必须学习设计模式。更别说看懂经典源码,不懂设计模式更是寸步难行,难以理解其中关键。

实际上,编程能力和设计技巧是对彼此很好的补充。一个好的程序员通常都是一个好的软件设计人员。他们知道怎么把一个问题分割成一段段代码或者软件设计,但这些能力和技巧并不能凭空而来。本学期课程的核心内容就是掌握熟悉GoF 23种设计模式,让大家从另外一个维度去理解面向对象设计的6大原则。

当然,软件设计模式只是一个引导,在实际的软件开发中,必须根据具体的需求来选择。这23种设计模式其实也不是太难,其本质就是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的关联关系和组合关系的充分理解。个人觉得,通俗地说,有4点是大家需要理解的:

1、设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。

2、对于简单的程序,可能写一个简单的算法要比引入某种设计模式更加容易。

3、但是对于大型项目开发或者框架设计,用设计模式来组织代码显然更好。

4、本学期讲解的软件设计模式,用Java语言为例进行讲解,但是设计模式并不是 Java 的专利,它同样适用于 C++PythonC#Javascript 等其它面向对象的编程语言。


五、阅读材料

23种设计模式-6大原则

https://www.cnblogs.com/welan/p/9005019.html

如何给女朋友解释什么是面向对象编程?

https://baijiahao.baidu.com/s?id=1626333751993181194&wfr=spider&for=pc



相关课程

扫一扫二维码,快速加入本课程!

放大二维码 查看使用方法
关闭