为什么需要学习设计模式,一般来说,设计模式在基本的开发中用不上,至少平常的CRUD用不上,虽然在平常用不上,但是可以潜移默化的,缓慢但有效的提高编程水平和对技术的理解
至于为什么需要学习编码规范的呢,从简单的说,可以从以下的方面统计
1.可以应付面试
一般来说,在面对BAT这种打工,会比较重视候选人的基本功,拿算法或者设计模式的问题来考察
于是在面对面试的时候,可以提前准备一下设计模式,避免因为设计模式相关的问题,而导致一场面试的失败
2.避免写出烂代码
Talk is cheap,show me the code,代码能力是一个程序员最基础的能力,写的代码可以说就是一个人的名片,如果一个代码很烂,比如命名不合理,类的设计不合理,分层不合理,模块化概念确实,代码高度耦合,都可能导致无法去维护,去扩展这些代码,所以就应该在设计接口之初,就利用良好的编程习惯和设计模式来去设计这个接口,写出好代码
3.提高复杂代码的设计和开发能力
如果需要设计一个复杂的高维护高扩展的模块,如何下手,如何去分层 去分模块 去分类,类具有的属性,方法,如何交互,耦合还是组合,接口还是抽象类,这就需要良好的设计模式的理解了
4.阅读源码或者框架
一个好的开源框架,在阅读源码的时候,会发现其中间件,代码量 类的个数都很多,类之间的关系及其的复杂,经常调来调去,琢磨不透,为了保证代码的扩展性,灵活性,可维护,使用了很多的设计模式,设计原则 设计思想如果不容易去参透作者的设计思路,就可能是因为自身对设计模式不理解而导致的,如果对设计模式很了解的话,就可以思考其中玄奥,代码读的很轻松了
5.职业发展
对于一个有追求的设计开发工程师,就需要去学习这个,因为设计模式能够提高一个人去阅读代码的能力,知道什么是好代码,什么是烂代码,总不能因为代码烂而拖延整个项目的进度吧,而且在面试别人的过程中,就不会想不出好问题而苦恼了
1.设计模式的重要性
设计模式是很重要的,在我成为程序员之前,我就开始去学习算法相关的知识,在成为程序员之后,我愈发的明白,基础是一个程序员能够走多远的基石,有了良好的基础,才能越学越轻松,于是我开始走上了一条底层学习的不归路,也是开始接触了设计模式,通信协议这些开发中并不常见的知识
2.使用过什么设计模式
我曾经在做一个设备的在线状态的功能时候,对于设备的上报信息,使用无锁的设计模式,利用这个减少了和数据库的交互,做到了项目内部维护在线状态,并且利用了观察者设计模式,即时的推送数据到页面