设计模式综合总结

设计模式综合总结

生产者消费者模型

  • 线程间通信
  • 中间用数据容器来解耦
  • 一个放数据一个取数据

装饰模式

定义:动态地给对象添加一些额外的职责,就像是在墙上刷油漆,使用Decorator模式相比生成子类方式达到功能的扩充显得更为灵活.

为什么使用:我们通常使用继承来实现功能的扩展,如果这些需要扩展的功能种类繁多,那么势必生成很多子类,增加系统的复杂性;

同时,使用继承实现功能拓展,我们必须可以预见这些扩展功能,这些功能是编译时就确定了的,是静态的.

----理由是:这些功能需要由用户动态决定加入的方式和时机,.Decorator提供了"即插即用"的方法,也就是在运行期间决定何时增加何种功能.

代理模式

对目标对象进行功能的扩展.(jdk动态代理,cglib动态代理)

装饰模式和代理模式的区别

  • 目的不同:
    代理模式:(让原有对象被代理)为的是让使用者感受不到原有对象的动作和行为
    装饰模式:(让原有对象被增强)
  • 重心不同:
    代理模式:最终主要功能仍然由原有对象决定
    装饰模式:最终主要功能由装饰对象决定

分层

分层的目的就是将复杂问题进行拆解,然后分而治之,进而提高系统的可扩展性以及可维护性

什么时候才会有cap原则

普通的单体项目用不到cap原则(高可用性和一致性,在一定程度上是互斥的)

这是因为当一个节点发生宕机,是没法实现一致性的C,然而可以实现高可用性A;

当一个节点想要实现高可用性A,那么就要发生宕机,则无法实现一致性c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值