【设计模式】思考-设计模式有什么用?

一般开始学习一个新的知识前,我会思考为什么要学,他对于我的工作和生活有什么帮助?

对于设计模式,主要是为了应对代码难以维护的问题。比如结构混乱,复用性太低,或者一个新需求需要改很多旧代码。

那么,什么是好的软件设计?

高内聚,低耦合
好维护,好复用

什么是垃圾的设计?

  • 新需求需要改的地方很多,甚至要重写。
  • 改一个地方发现牵一发而动全身,根本不敢改。
  • 全是if else ,要逐步去加判断。
  • 让调用者去关心实现逻辑。也就是我用一个方法或者类,还要把这个类理解一遍。

总体的思想:

抽象、复用、单一职责。

其实学习设计模式很简单,但是用好它很难。什么时候该用什么样的模式,是否滥用了,是否让我的维护越变越难了?

对于这样的问题,我是这样看待的:

软件设计复杂性的根本问题:需求变化。

首先要了解产品的走向,简要分析下这个需求可能会怎么变。然后尽可能地增加复用性。
然后开始思考设计模式。
最后回想,这样是变简单了,还是变复杂了?

比如一个很简单的功能,统计某个接口请求次数。
如果以后基本不可能改了,那就直接一个方法就完了,不用想太多。
如果感觉以后可能要多个接口,那就考虑一下设计模式,以后增加接口不用改这一版的代码。
如果感觉以后要做统计分析,表的设计也要优化一下。
如果感觉这个量很大很大,是不是要分一下表。

总结

最后,活着最重要。

很多人喜欢追求技术,然后看到一个方法粘贴复制就开喷。

但是在我理解,一切都是为了生产力服务的。粘贴复制这种行为确实会让代码成一坨屎,为后面的维护带来难以忍受的痛苦。

但是,如果你已经在猝死的边缘了,不要想太多,要么直接换职业,要么怎么快怎么来吧,能优则优,不能优就算了。

又或者你写的是一次性代码,用几天就可以删了的,进度又要得急,也不用想太多,换公司吧。

如果你还有一颗热爱编程的心,不要停止学习,如果一直图快,你的技术不会进步的,也就不可能跳出这个水平圈,就会一直在还技术债,最后感觉做不下去了。

学习不会短期内提高你的工资,甚至会让你更累,但是会为你的未来种下一颗种子,总有一天会发芽的。

猜你喜欢

转载自blog.csdn.net/happy_teemo/article/details/112704253
今日推荐