0613 总结
1、老师关于争议的回应
课程一开始,老师对上一次课大家不满的地方进行了回应,虽然说得比较委婉,但是态度还是能让人接受的,尤其是课程结束之后接近1小时的答疑,估计也能平息不少人的不满了。
这件事情其实也是值得我自己学习和警醒。
1)要多与他人互动沟通,才能真正理解别人的需求。前面的争议就是因为跟学员互动太少引起。
2) 认错的时候脸皮厚一点,错了就错了,大方承认,大部分人还是会接受的。
2、上课过程中让我印象深刻的几个知识点
面向对象与面向过程的本质区别是多态
面向对象的三个特点:封装、继承、多态。多态是这三个特性中最重要的一点,面向对象的设计模式实际上就是在寻找如何更好的利用多态的特性。
根据设计模式基本原则审视自己的代码
在讲解开闭原则的过程中,老师先展示一段不那么完美,但又是大多数人会写出来的代码,然后根据开闭原则的思想,一步一步去优化这段代码。
这种观察代码以及优化代码的思考方式给了我非常大的启发。
以往在看一段代码是否优秀时,我的关注点往往是表面上的一些"坏味道",比如代码是否超长,循环嵌套是否过多等等,再不就是代码是否符合业务逻辑,有没有性能问题。
而根据设计模式的基本原则去审视代码,让我有了一种豁然开朗的感觉,以前关注的更多是代码的外在(坏味道),而忽略内在(设计模式原则)。
我写的代码扩展性是否够好?是否能够更快速的相应变更?想要解决这些问题,平常在写代码时就得不断根据设计模式原则来审视代码,不断提高代码的内在。
依赖倒置原则中的抽象由谁来定义?
上了今天的课,我才知道原来依赖倒置原则中的抽象应该由高层来定义!
重要的事情说三遍:
依赖倒置原则中的抽象应该由高层来定义!
依赖倒置原则中的抽象应该由高层来定义!
依赖倒置原则中的抽象应该由高层来定义!
至于为什么是否高层来定义,我的总结就是:
因为底层是细节更具体,高层是策略更稳定,抽象应该放在更稳定的那一层,因此依赖导致应该由高层来定义。
反例:在Service层定义接口,Controller调用Service层的接口。
版权声明: 本文为 InfoQ 作者【W_T】的原创文章。
原文链接:【http://xie.infoq.cn/article/3c381fd4ae5160ea8e14062c4】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论