您的位置:首页 > 其它

设计模式之【开篇】

2017-04-28 11:26 197 查看
【说点题外话】

最近似乎很忙,忙到翻开博客一看,竟然已经有一个多月没有一篇技术博客的产出了。

然而是否真的那么忙?好像是的!

忙着考驾照,忙着自考,还要忙着录mongodb的视频课程,要准备公司内的培训资料,同时小组内四个成员,还要负责九个项目的维护。



然而,再转念一想,好像又不是那么忙!

因为上边所述的种种,其实都有时间上的错位,事情再多,只要不挤在一起,那么忙便只是个借口罢了。

既然是借口,就不该成为阻止自己前进的绊脚石,我需要继续产出!

正好,在项目维护的时候需要很多代码的修改,或者更专业点的说法叫做代码的重构。

而重构过程中又发现以前的很多代码实在是不堪入目,毫无章法,专业的说法或许就叫做没有设计模式可言。

那些代码是别人写的,但是我明白自己之前写的代码其实一样的烂,甚至更烂,所以当即决定我要立即着手对设计模式的学习,以免以后的代码被太多后来人骂娘!



初衷有了,动机有了,剩下的就是实践。

可能是无巧不成书吧,刚好前几天在csdn博客群中就有人发出了一个设计模式系列博客的链接,而我不久前也买了一本《headfirst设计模式》,两相结合,我想应该可以让我对设计模式有一个很好的系统性的理解和认知了。

这个链接是刘伟老师的csdn博客,链接如下:

史上最全设计模式导学目录(完整版)

跟着《headfirst设计模式》一页一页往前走,第一个介绍的模式就是【策略模式】,因此我也跟着书的脚步从这里开始学。

同时,在刘伟老师的博客中对众多设计模式进行了星级评分,我发现【策略模式】的学习难度是一星,也是最简单的,这也符合学习知识由易到难的过程,从这里开始应该确实是一个不错的选择吧!



【什么是设计模式】

要学习设计模式,首先自然要知道到底什么是设计模式,不然我为什么要学?

这里先引用刘伟老师博客里的定义:

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。

这个定义,很明显说的是软件的设计模式,而在刘伟老师给出这个定义之前,是还有一篇介绍设计模式由来的:设计模式最早从建筑中来,而后被引入到软件开发中

因此我们知道,设计模式并不单单存在于java开发中,也并不仅仅存在于软件开发中,他还存在于建筑中,存在于生活中的方方面面,只不过对于我们软件开发人员来说,通常说到设计模式自然而然想到的就是软件中的设计模式。

从上边的定义中很容易提取出设计模式的特征:反复使用、多数人知晓、分类编目、经验的总结、易于理解、可靠

说起设计模式,看到这些特征关键词,我不知道其他人第一时间想到的是什么,而我首先想到是我曾经看过的一本经典书籍:《三十六计》。

《三十六计》是一本兵法,为什么我会想到它呢,我想大概就是因为它完全符合设计模式的关键特征,它虽然是被一个人写出来的,但是实际上是很多人经验的总结,是反复使用并且多数人知晓的,也是分类编目、易于理解而且可靠的

所以,我认为《三十六计》其实也是一种设计模式,同样的,《孙子兵法》也是一种设计模式,三十六计每一计,便是设计模式的每一个模式

熟读活用《三十六计》,可以提高战争的胜率,减少兵将的伤亡,而 熟读活用《设计模式》,可以提高代码的容错率、拓展性、可读性,减少后期的维护成本,当然了还有被骂的次数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: