GitHubDaily/articles/学不会设计模式,是因为你还没用过这个神奇的网站!.md
2020-04-27 10:48:45 +08:00

59 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28jt7Dd5RaQjvMiaMz3U27c8KggvUCD5GuZwWkSCnghQArt8sUqVmxkFqJjOnpFlb0ngtCMAic6RIfFw/640)
大家好,我是小 G。
在文章开始之前,先给大家安利一波我们的公众号:**GitHubDaily**,目前每天都会在上面更新至少 3 篇文章,主要分享比较实用的开发工具与开源项目,偶尔也会聊聊技术圈内最近发生的新鲜事,感兴趣的小伙伴可以关注一下哈。
下面开始进入正文。
如果我们将程序员简单分为两类人:一类对于软件设计模式一头雾水,代码写的随心所欲;另一类将设计模式玩的炉火纯青,代码写的优雅如诗。
那么,后者写出来的代码,其可维护性、可扩展性肯定都要比前者的强,同时也会使得其代码更加优雅易读。
其实,写代码就跟我们在日常生活中处理一些大大小小的事情一样,当我们配合上一套成熟的思考框架和行动模式来走的时候,会发现很多事情处理起来变得轻松很多。
聊到这,想必你对学好设计模式的重要性已经不言而喻了。
那么,如何学好设计模式呢?
下面小 G 给大家推荐一个网站Refactoring Guru。
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28ialFxX7ibsIQGbVaOeSgZbwACvPNIicGPIB4FLicdlHbibHQNw7fnx1nBpLswPEVIY5fcf9opq4HWBUnA/640)
https://refactoring.guru/
这是国外的一个网站,建立的初衷,是帮助开发者以更为简单便捷的方式,迅速掌握各个设计模式的学习。
Refactoring Guru 上面共拥有 22 种设计模式及 8 条原则的详细讲解:
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28ialFxX7ibsIQGbVaOeSgZbwATTVpcibUZ7SAvEmT1FEWKCU3vmhADFfzqLs7aFxXbkDEHnX5Kib9zbJw/640)
每个设计模式都对应配有一篇图文并茂的文章,让开发者可以很轻松的搞懂每个设计模式的具体工作原理:
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28ialFxX7ibsIQGbVaOeSgZbwAjNvJrkJz7TuVnIVlBaomUl2e5spjXW6EX4XiagtzQW3aZckFxLmTMjQ/640)
在每篇文章里面,均有提供对应的代码示例:
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28ialFxX7ibsIQGbVaOeSgZbwAw6ITFRFpb10tGeMTcyT2V5STeVWtHQCVkxhaQHiaNicqRdxCpHiccicibZA/640)
这些代码示例,分别支持以下八种不同编程语言的实现:
![img](https://mmbiz.qpic.cn/mmbiz_png/uDRkMWLia28ialFxX7ibsIQGbVaOeSgZbwAMegKfzhotFAEaXVQ7QmMQOtkLQtc1CpXtIAxS9WgWqIq460tlLC4wQ/640)
目前,该平台上的所有内容均免费开放给开发者阅读,也有提供中文版本的翻译(现阶段还没完全翻译完成)。学习速度比较快的同学,可以直接看英文版来学习。
如果你需要可离线阅读的电子版,平台上也有提供相应的购买入口。
总的来说,作者还是非常良心的,如果你想学好设计模式,利用该网站上所有免费开放的学习资源,应该可以很快就把设计模式学好。
并且,这种图文并茂 + 代码示例的学习方式,也极大了加深了开发者对知识的吸收。
文末,再度放上该网站地址,感兴趣的同学可前往学习:
https://refactoring.guru/
--
文末,照旧安利一波我们的公众号:**GitHubDaily**,目前每天都会在上面更新至少 3 篇文章,主要分享比较实用的开发工具与开源项目,偶尔也会聊聊技术圈内最近发生的新鲜事,感兴趣的小伙伴可以关注一下哈。
<p align="center">
<img src="https://raw.githubusercontent.com/GitHubDaily/GitHubDaily/master/assets/weixin.png">
</p>