相信不管是0基础小白,还是有一定经验的编程大牛,提到设计模式都不陌生吧,有一部分人觉得设计模式很有必要,而有些人觉得没那么重要,那在工作中,我们是否应该重视设计模式呢?如果你也有此困惑,请看下文:
| 工厂模式
这是个最基础的设计模式,同时也是最常用的,还是一个我们平时一直在使用,却不知道的一个设计模式,顾名思义就是一个加工厂,这里生产的是我们面向对象编程中最重要的对象。
而工厂的好处我们都知道,不仅可以批量生产,还可以批量定制,因为有不同的模具,因此它可以生产出人们需要的各种类型的产品。
在开发软件的过程中,我们最关注的就是使用对象的方法,因此,抽象工厂解决了此问题,我们只需要定制我们需要的产品功能接口,然后让工厂按照此接口,实现接口生产对象即可。
通过这样的方式,如果我们的产品有问题的话,可以随时召回,可以随时被工厂补丁修补,实现了产品的灵活扩展。
| 适配器模式
在开发软件的过程中,几乎不可能离开数据库,因此数据库的选择就变得至关重要,如果选错了,可能会导致后期在性能上出现瓶颈,那如何在不修改或修改很少代码的情况下进行数据库的无缝切换呢?就是适配器模式。
首先定义好适配器接口,然后让各种数据库实现我们定义好的借口,在代码中使用接口中定义的方法,当需要切换数据库时,只需要将数据库实现对应接口的方法,就可以完成数据库的适配,因此达成无缝连接的效果。
| 观察者模式
是一种一对多的模式,比如产品有这样一个功能,用户下单支付成功后,就会发送一条短信通知用户,之后如果需要不仅发送短信,还要发送邮件、语音通知等,在此情况下,就可以采用观察者模式,将支付成功信息放入到消息队列中,至于发短信还是邮件,由各个业务模块订阅消息队列自己处理,这样在订单模块里,就不需要一个个通知短信、邮件模块了。
| 策略模式
顾名思义,就是实现目标方案的集合,简单来说就是各种方法的集合,他们都是用来实现一件事情的。
在软件开发中,一个对象对不同场景采用不同的策略去实现同一个功能,就是策略方法,是同一个对象对同一个操作采用不同的策略进行处理操作。
淘宝首页的千人千面也是策略模式,都是显示商品,面对不同的人,显示的就是不同的商品,这就是由策略决定的。