初识Spring Cloud系列——Spring Boot篇02|Java 开发实战

307 阅读3分钟

这是我参与更文挑战的第2天,活动详情查看: 更文挑战

本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接

俗话说,授人以鱼不如授人以渔,今天这一篇不是一个要去深入理解源码而去准备学习的设计模式,仅仅只是一个花一点时间重温一下所学的相关知识点

Spring Boot涉及的9种设计模式,如下(学习之前,花了1小时做了对这几种设计模式的回忆)

  • 简单工厂模式(09:25~09:31)
  • 工厂方法模式(09:51~09:55)
  • 装饰器模式(09:56~10:00 )
  • 单例模式(10:00~10:05)
  • 观察者模式(10:06~10:09)
  • 策略模式(10:16~10:19)
  • 模板方法模式(10:20~10:21)
  • 代理模式(10:21:~10:23)
  • 适配器模式(10:23~10:25)

结果很糟,以下图片是错误案例,请勿模仿

image.png

好了,接下来才是相对硬核点的知识点:

什么是工厂模式?

实现了创建者和调用者的分离,调用者不需要知道具体的创建者是什么类,只需要知道工厂的接口以及自己想要的产品名称,就可以进行调用得到想要的产品

场景(①):在一个网购的场景中,顾客下单购买衣服,店家就跑去找厂家拿产品,然后返回给顾客就行了 简单工厂模式(StaticFactory Method):

优点

  1. 简单工厂包含必要的判断逻辑,简单工厂实现了对象的创建和使用的分离。

  2. 客户端无需知道所创建的具体产品类的类名,只需要具体产品类对应的参数即可!

  3. 在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性 场景:若①的顾客有小明和小雪

    第一步:小明来了,要购买衬衫,店家让厂家生产出衬衫,然后拿给小明 第二步:小雪来了,要购买裙子,这时店家直接让厂家增加生产裙子,然后拿给小雪 第三步:厂家出问题了,所有产品都没法生产(出问题是因为一直要对厂家)

image.png

image.png

image.png

一个工厂承包了所有的产品,这样子做,供应链上就很简单,但是对厂家的负荷大,一旦厂家出事了,那么,所有产品都没法生产,对所有顾客都有影响,这体现了简单工厂违反了开放——封闭的原则(对扩展开放,对修改关闭;要增加一个新的处理逻辑,可以开一个新的类,不要在老的上面修改)

第一步:小明来了,要购买衬衫,店家拿出电话簿,让厂家(专业生产衬衫)生产出衬衫,然后拿给小明
第二步:小雪来了,要购买裙子,店家拿出电话簿,让厂家(专业生产裙子)生产出裙子,然后拿给小雪

image.png

image.png

image.png

小结:今日小篇章完成了,专注的时间比第一篇多了,自我感觉比昨天的小篇章好一点,内容上更有针对性,对知识点的理解也清晰了,当然,本篇还有遗憾的地方,9大设计模式只是写了了2个,这两个设计模式概念性的东西多一些,与Spring Boot的相关性还有所欠缺。