极客时间架构师训练营 - week2 - 作业 2

用户头像
jjn0703
关注
发布于: 2020 年 06 月 14 日

本周的架构师训练营第一次课程主要讲解的是编程发展史(软件开发史),面向对象设计的概述等。软件设计的目的是利用计算机来解决真实世界中的问题;编程的过程即是将现实世界中的问题,抽象成计算机所能理解的模型,如下图所示。



编程语言多种多样,从最早期的打纸带,到后来的汇编,Basic,Perl,再到C,再到后来的面向对象设计语言SmallTalk,C++,Java等等。整体的发展趋势是编程语言越来越人性化,软件设计与开发也能以人类习惯的思维来进行。面向对象设计编程是当下的主流,封装、继承与多态是面向对象编程的三大要素。


第二次课程时间则讲了4个多小时,老师讲解的主要内容是面向对象设计的目的,原则与方法论。

目的呢,就是使得设计出来的软件强内聚、低耦合,软件系统易扩展、更强壮、可移植且更易于维护;

原则呢,包括开闭原则,依赖倒置原则,里氏替换原则,单一职责原则,接口分离原则(本节课重点)

设计模式是前辈们在面向对象设计的原则基础之上,总结出来的一套有效的方法论,大致包括23种设计模式。

本次课程对我个人的冲击力有点大,因为平常主要是写业务代码,没有涉及多少框架层面的代码。年初做过一个业务系统,起初实现很简单,但是需求一变化,大段的代码逻辑都需要改,加了很多班才按时按要求完成啦修改,着实是痛苦。目前看来首要任务,是先记住这些原则,记住23种经典的设计模式,争取在项目中落地部分。另外优秀的开源代码也是需要好好钻研的,通过代码去体会设计者的良苦用心!

加油!



发布于: 2020 年 06 月 14 日 阅读数: 83
用户头像

jjn0703

关注

Java工程师/终身学习者 2018.03.26 加入

USTC硕士/健身健美爱好者/Java工程师.

评论

发布
暂无评论
极客时间架构师训练营 - week2 - 作业2