分享

编程学到什么阶段需要学习设计模式?

 昵称11935121 2018-04-18

设计模式就相当于江湖中的葵花宝典,你可以打下良好的基础后开始学习,以求更进一步,也可以一开始就学习,但是难于掌握其精髓!

设计模式是基于代码设计原则(单一职责原则,狄米特法则,里氏替换原则,依赖倒置原则,接口隔离选择,开闭原则)形成的一套可灵活在不同场景中,写下稳定,可扩展,耦合度低的代码的一种范式!

设计模式可以说是编程大牛留下的宝贵的财产,但并非一开始就适合进行设计模式的学习,很多编程理念只有在掌握了一定的业务知识和代码编程之后才会发现其精髓!

举两个简单的例子:

1,策略模式:比如说你要去某个地方,有地铁,公交,打车,骑车等多种方式,原始的做法是你直接在业务代码里面做判断,然后根据选择实例化哪个方式,你的业务和移动方式出现很大的耦合!

但如果你用策略模式,只需要在业务代码中加一个调度类(无论新增多少策略,都不会变),在调度类中选择实例化对象,在新增一个方式(比如走路)的时候,不用在原来的业务代码中,再去new一个相应的对象,只需要实现移动方式的接口,然后在调度类中实例化即可!实现了业务代码和乘车方式之间的解耦!

2,修饰模式:比如说你的一个接口返回5,一个调用方需要你返回4,另一个需要你返回6,原始做法是在原来的代码中做判断,这个渠道给4,另一个渠道给6,然后,有越来越多的渠道,你在原来的代码里面做超级多的判断,可能渠道之间有更多的耦合!

那么使用修饰模式又会怎样呢?保持输出为5的接口不动,然后新增类根据原接口进行修饰,兼容输出其他值,不污染原来代码的同时,实现了不同渠道之间的解耦,满足了开闭原则(不在原来的代码上动刀)!

我一开始学习设计模式的时候,觉得啰嗦繁琐,一些中间类看着没用,等到知识渐渐丰富,发现设计模式对于编码有着很大的提高,改的也不会那么频繁了!所以,对于设计模式,早学,早懂,能让你在编程路上走的更好,更轻松!

我先后用过大概16种左右的设计模式,有点迷上了这样的优良编码形式,如果你也有兴趣,敬请关注我,以后会一一分享!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多