一、项目用了哪些设计模式

1.建造者模式: 1.1 介绍

  1. - 分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况下使用。
  2. - 由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;
  3. - 相同的构建器,不同的装配顺序也可以做出不同的对象。也就是实现了构建算法、装配算法的解耦,实现了更好的复用。

1.2 个人理解

  1. - 客户端(使用 程序 )不必知道产品内部组成的细节,将本身与创建过程解 耦,使得相同的创建过程可以创建不同的产品对象
  2. - 一般是指挥者不用变。就是不同的建造者,可以建造一个产品的不同表现(也就是不同的形式)。比如你让一个指挥者,指挥建造电脑,如果一个建造者有高级的cpu。很高级的显卡,那么这个建造者所生产出来的,就是一个高配电脑。如果换一个建造者,这个建造者给的cpu不行,显卡不行。那么这个指挥者来指挥这个建造者,建造出来的东西,肯定比指挥上一个建造者要差一些。

1.3 与工厂模式的区别

  1. - 工厂模式不注重这个对象实例化的细节。一般 创建的对象,比建造者模式创建出来的要简单,
  2. - 一般这个工厂模式可以与建造者模式来搭配使用,工厂模式可以给建造者模式来提供组件。

[

](https://blog.csdn.net/weixin_42041788/article/details/106035280)

这样写的好处是什么呢? 很明显,我们在构造这个复杂对象的时候,我们可以随意舍去一些不需要的参数。可以非常轻便的构造这个对象

二、哪些地方用了分布式锁

点桌平台的开桌服务用到了分布式锁