程序员内功心法 (程序员技术规划技巧是什么)

今天给大家肤浅的聊聊程序员必备的内功心法——设计模式。

什么是设计模式?

设计模式是我们在开发软件时针对常见问题的通用解决方案,也是前辈们不断摸索和总结出了好的编程方法。可以理解为打游戏的攻略,就是我们遇到同一类的对手时怎么走位,怎么放技能。

设计模式有什么用呢?

设计模式最直接的作用就是减少烂代码,让项目更好维护。如果没学过设计模式,可能随着产品不断加需求,改需求,你的代*会码**充满大量的if-else,新同事来了,也不敢动前人的代码。只能再去补充一副if-else,于是“大便”山就越堆越高。而使用设计模式后,把每段逻辑单独封装和维护,大家协作开发也会更高效,这就是我们要学设计模式的原因之一。

此外,学好设计模式还能开拓我们的思维,让我们遇到问题时能想到更多的解决方案,因此设计模式也是软件开发招聘时重点考察的内容。而且,很多知名项目都用到了设计模式(Spring,Mybatis)。

所以,建议各位开发的朋友们一定要好好学习设计模式,让我们的系统不要成为“屎”山。

设计模式要学什么?

首先是软件开发原则,所有的设计模式基本都是建立在这些原则的基础上。

  • 单一职责原则(SRP)
  • 开源原则(OCP)
  • 里氏替换原则(LSP)
  • 依赖倒置原则(DIP)
  • 接口隔离原则(SIP)
  • 迪米特原则(最少知道原则)
  • 合成\聚合复用原则(CARP)

其中 开闭原则 迪米特原则 是最基本的两大原则。比如开闭原则就是建议我们把模块设计的好扩展一些,每次新增功能只需要加代码,而不用改老代码。

设计模式主要是23种,其中最常用设计模式是单例模式、工厂方法模式、建造者、适配器、装饰器、代理策略、责任链、观察者迭代器模式。大部分开发小伙伴工作中经常用到这些,也总能在框架源码中见到他们。尤其是单例模式,还有很多种不同的实现方式,我们都要了解,

设计模式什么学

推荐两本书——《图解设计模式》和《大话设计模式》,一个网站——菜鸟教程。

菜鸟教程网站里的的文档挺好的,每个设计模式都有讲解和代码示例,还是比较推荐的,但最重要的是建议大家在学习设计模式时可以多和实际生活相结合,学以致用。不要把设计模式想得太深不可测,都是源自生活的智慧,比如适配器模式,就是平时看到的转接头,用一个转接头连接两根线,代理模式就是为找了个代购帮你去买东西。

设计模式还是服务于实际项目的。在平时码代码的过程中一旦遇到了重复代码,就问一下自己,我能不能要用上某个设计模式呢?次数多了自然就有经验了,拯救了你的工程避免成为屎山。那我们也要注意,设计模式不是银弹,我们不能为了用而用,那样使用设计模式只会突增系统的复杂度和理解成本。