设计模式 | 为什么要学设计模式?懂兵法才能当好将军

1. 什么是设计模式

设计模式就是前人总结的代码设计的经验。一套描述了在各种经典常见的环境下,通过设计让代码编写变得高效或体现高价值的方法。

设计模式就像兵法,遇到强大的敌人我们适合采用防守的方式,防守的布阵;遇到弱小的敌人,我们适合采用进攻的方式,进攻的布阵。所谓兵法,就是总结了前人的智慧和经验,设计模式也是如此。

学习设计模式是为了让我们更好的行军布阵,在合适的场景使用合适的战术。

但是实际使用的时候,也跟兵法一样,不能纸上谈兵,要根据实际的情况来调整。

2. 设计模式的分类

在这里插入图片描述

创建型模式关注对象的创建过程。
关注怎么招兵,怎么买马。我们可以挨家挨户的去叫人,也可以让村长带人过来。目的就是研究怎么把这些对象搞出来,怎么创建对象才更符合我们的需求。

结构型模式关注对象与类的组织。
比如,兵营内的等级结构如何设计才能比较有助于管理,才能有效的做事;打战时,阵型结构该怎么设计,主打进攻的阵型该如何设计,主打防守的阵型该如何设计,针对骑兵的阵型该如何设计,针对步兵的阵型该怎么设计等等等等。目的就是让整个结构更符合我们的需求。

行为模式关注对象之间的交互。
比如哨兵发现了敌人,要让全军的人知道,针对这个目的,我们需要设计一个行为交互模式。

一种方式就是由哨兵敲响警钟,让所有人听到,每个人按照他的职责作出反应。

另一种方式可以由哨兵一级一级的往上报告,直到指挥官知道了,由指挥官发布命令让军队行动,结果可能是一样的,但这样可能就太慢了。

行为模式就是让对象之间的行为更符合我们的需求。

3. 使用设计模式

设计模式就是为了让我们的代码设计更符合我们的需求,符合我们面对的场景。

兵无常势,水无常形。使用什么设计模式要看我们面对的需求,面对的场景是什么样的,不能生搬硬套。

适合自己的才是最好的。

flag

每种具体的设计模式,会在另外的文章介绍,欢迎关注我哟。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值