第二周总结
体会:看完所有的视频,颇有感慨,其实老师并没有讲什么新的知识点,所有的东西我都曾反复学习过多次,对概念也能倒背如流。但是老师的讲解依旧能让人醍醐灌顶。老师所站的高度是我所原不能及的,让我从一个全新的角度去看待这些知识点,收获良多,万分感谢。
五个编程原则:
1,开闭原则:对修改关闭,对扩展开放。这里的修改指的是当需要扩展的时候,做到不修改既存代码,当对现有功能的修改的时候,还是应该修改的。为了能够符合开闭原则,最主要的手段是基于抽象编程,当需要扩展的时候,只需要提供的新的实现就行。
2,依赖倒置原则:高层和低层之间不直接相互依赖,而是通过接口进行交互,高层定义接口,提供开发规范,低层实现高层提供的接口,根据规范进行开发。基本上所有优秀的框架都遵循了这个原则,我们在进行业务代码的开发的时候,只需要遵照框架所提供的开发规范进行编码,具体的调用则交给框架进行处理。3,里氏替换原则:所有基类型出现的地方,应该都可以用子类型进行替换。在软件的开发和维护过程中,如果出现需要改动基类的需求的时候,可以通过写一个子类进行动态扩展的目的,但是基类可能已经在多个地方被调用,如果子类不能替代基类,则可能发生异常。
4,单一职责原则,一个类只做一件事,一个类的提供的功能越多,同时被调用的场合也就越多,同时发生变更的可能性也就越大,当发生需求变更的时候,则需要全面考虑对其他的功能是否会产生影响。代码也就变的僵化和脆弱。同时功能越多,依赖关系也就越复杂,打包的时候也会变得臃肿。
5,接口分离原则:接口越复杂,也就越难做到单一职责,当某一接口方法发生修改时,所有实现该接口的子类都需要进行修改,即使并没有调用该方法。接口越复杂,也就越容易提供多余的方法。暴露出更多的细节。
遵循编程原则最大的好处就是可以让代码更加简洁,扩展性更高,从而能够更加快速的应对各种需求变更。但是也没有必要过度使用编程原则,编程原则一定程度上会让代码组织变得更加复杂,如果单个类的简洁换来了整体的复杂,也会得不偿失。
评论