写点什么

架构师训练营第二周学习总结

用户头像
张小胖
关注
发布于: 2020 年 11 月 01 日

这周主要学习了几个部分


面向对象编程的本质和未来


其中编程的目的是什么呢,编程的目的是为了解决问题。


把领域问题抽象成一个模型,然后设计的系统也抽象成一个模型,领域问题和系统都和模型想对应,领域的实体和模型的实体、系统的实体都是一一对应、映射,这是我学到的点。


跳出技术的表面,抓住背后的规律,抓住背后的本质,去思考背后的东西,架构师要深入的思考

这才是架构师的能力。


面向对象的三大特性,封装、继承和多态

原来,多态才是核心,我以前真的是不知道,我以前只是知道有这么回事,但是实际上是怎么回事,我并不清楚。


框架是什么呢?框架就是一个大厦,架构师就是让框架落地,


所以架构师训练营说是学习架构设计,实际上最终也是学的是设计模式,和极客时间的《设计模式之美》应该结合着看,我觉得效果会更好。


是糟糕的代码有哪些?


让我想到了逆向思维,我们要想写出好代码,要知道坏代码是什么样子的


老师以一个拨号按钮的例子举例,说实话看着,哪些代码,我刚开始并没有意识到什么问题,由于自己自己对面向对象的思想并没有了解多深,所以,我根本看不出来这个设计到底是好设计还是坏设计,完全的无感。到了后来,老师提到了很多的特点,比如不容易扩展,等等。


开闭原则


开闭原则,对扩展是开放的,可以扩展功能,对修改是关闭的,一个类写完了,然后不应该被修改代码


依赖倒置


依赖倒置原则真的是重重之中,依赖倒置原则是架构师的核心能力。

高层模块不依赖于低层模块,低层模块也不依赖于高层模块,大家都依赖于抽象。

他们共同依赖于一个抽象,这个抽象是高层模块的,并且是高层模块根据具体的使用场景来的设计的


依赖倒置的好处

当高层来调用的时候,高层可以根据自己的场景来设计接口


高层也更容易被重用

依赖倒置原则是框架的核心

例子 tomcat,框架不依赖于我们的代码,我们去实现接口,然后高层就可以调用我们的代码了


里式替换

是用来解决继承问题的,是用来衡量继承是否合理的,一个正确的继承要满足什么要求呢?

要求子类可以在任意的点替换父类,这种继承就是合理的。


关键:在于应用场景中,子类是否能替换父类,如果能替换,就是一个合理的继承,如果不能替换,就是一个不合理的继承


关键点,里式替换要放在程序的上下文中去看,而不是静态的去看,凡是使用父类的地方,都可以用子类代替,就说明这个继承是合理的


单一原则和接口隔离

一个类只有一个引起它变化的的原因,举例是用

一个科学计算类依赖于一个画图类,画图类里面有两个方法,一个方法是画图,一个是计算,两个功能耦合在一起,后续就是用画图和计算分来。


接口隔离,就是应该设计一个接口,从客户的角度出发,不让客户看到它们不需要的方法,不应该强迫客户依赖它们不需要的方法


案例:超时的门

然后用了两种方法来实现,一种用适配器来改进,另外一种是多继承实现接口隔离。


还举了一个阿里巴巴的真实案例,

就是把一个实现类,然后对两个应用程序抽象出了两个接口。


反应式编程

这个章节,我没有听懂,为什么一个线程既能运行在这个服务中,又能运行到另外一个服务中呢,说实话,完全没有头绪。后续我再听吧。


发布于: 2020 年 11 月 01 日阅读数: 37
用户头像

张小胖

关注

还未添加个人签名 2017.12.12 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
赞思考,知识点细致
2020 年 11 月 08 日 16:35
回复
没有更多了
架构师训练营第二周学习总结