有用的“歪门邪道”-设计模式

有用的“歪门邪道”-设计模式

kagula

2021-1-26

正文

作为十几年的程序员, 由于经常听到工厂模式, 反射调用,依赖倒转原则,那是什么鬼。我想我也要与时俱进,是吧!手头刚好有《大话设计模式》的pdf, 花了几个小时看了下, 厉害了!

第一个感叹就是,  原来我十多年写程序中用到的各种方法, 被整理出了23种设计模式。 这得多少工作量, 最糟糕的是我们写程序十几年积累的诀窍被小清新一看<<设计模式>>,几天就全学会了,砸我们老人的饭碗呢,哭死!

图一  各种各样的设计模式

前段时间,参加了浙江省自学考试-离散数学的考试,题目简单的一塌糊涂,考试通过,但是分数低的让我心痛,像我四十多岁还在考试的人不多,表扬下自己。为什么这里要提离散数学呢,这是因为其中学到的知识,我在十几年编程中是无法想到的,我相信自己不是天才,所以我确信以下这些定理。

1,就算没学过设计模式,有丰富编程经验的人也会使用设计模式,只是他们不清楚工厂模式、代理模式等这些名词。

2,学习数学要比学习“设计模式”重要。

现在我来补充下定理1,举个例子,我们写代码不可避免要调用数据库,第一天被领导要求,得用Foxbase,过几天要求改用IBM DB2,那我代码就改下呗, 但是过段时间Oracle来了,崩溃,以后要是再来个MySQL我不是完蛋了,自然我们会想到为不同的数据库服务器建立驱动,然后再加个抽象类,减少重复代码,然后以后换成MySQL就不用大量修改代码,只增加点针对MySQL的特殊代码就可以了。很多数学定理是几百年人类智慧的结晶,比如说黎曼公式,七桥问题,不单能解决我编程中遇到的问题,而且不是我花几个小时,能想到的。设计模式这类的书和数学不同,我没看过设计模式,也能想到用哪种设计模式,但是数学的东西我做不到,所以学习数学更加重要

3. 在某些情况下添加新代码比修改现有代码成本低

一个对几年前写的程序还要仔细看下代码,一个看下接口,根据接口添加下代码,然后再配置下就可以了,成本哪个更低,一目了然。但凡有点编程经验,就算他没学过设计模式也是在用设计模式这套思路在写代码,不然,工作就没办法继续了。

4. 检验数学学习成果的最好办法是考试

你看我一考就露馅了,哎!我对离散数学的掌握,远没有自己想象中的优秀。

学习《设计模式》为什么是“歪门邪道”呢?

先有需求,建立问题域模型,再映射到具体的平台,变成可以运行的软件。也就是说先有问题,再有设计模式,而不是反过来。试想一下,遇到问题,然后几十种设计模式去匹配下,那个好用就用哪个?模式匹配不需要时间?如果有比现有的模式更适合的解决办法呢?所以我说是“歪门邪道”。

为什么我说学《设计模式》有用呢?

对新人来说,就像学会了一元二次方程,学会了计算矩形的面积,圆形的面积,我内功不行,我就套呗,至少简单的问题能解决。

对老人来说,增加了同新人的沟通能力,哈哈,我知道你说的意思了,这样行!OK!

给我最大的启发就是

为什么二十年前会写QQ的程序员一大堆,就只有某人靠着QQ成功了?

为什么这么多老鸟会设计模式, 但是为什么只有写出设计模式这本书的老鸟靠设计模式发财了?

我们学这学那,不就是为了成功?为了发财?

为什么?为什么?为什么?

 

后言

      几小时后,我把看过的有关《设计模式》的内容忘记了。。。 。。。

新人熟读《设计模式》,能说会道,是不是真的能抢走开口什么模式都说不清楚的老人的饭碗呢?拭目以待!

好吧,哎,叹口气~~~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kagula086

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值