设计模式
文章平均质量分 63
真正的技术大牛眼中 只有设计模式,其他都是信手拈来
vcaml7717
不要辜负命运的托付
展开
-
适配器设计模式
类C就扮演了适配器的角色,它将类A的接口转换成了接口B,使得类A可以与预期使用接口B的客户端代码协作。bird类是我们不能改的, 但是Adapter 类是自己的,我们先用Adapter 实现SkyDream接口 在Adapter 职中把bird引进来作为一个私有属性 ,然后调用flyToSky方法。假设原本情况是这样的:类A实现了接口B,但是由于某些特殊原因,A不想直接实现B接口中的方法。然后,引入了类C,它实现了接口B,并且在C中重写了B接口的方法,但实际上在C中的方法中调用了类A的实现。原创 2024-03-18 12:02:05 · 487 阅读 · 0 评论 -
理解策略模式
策略模式的理解就是当代码里面的某个地方遇到了多种选择,多种方案,多种可能性的时候。最笨的方法就是针对不同的选择 做if-else,然后分别选择各种方案。所有的方案实现一个统一的接口(方案的总和)。在它的构造函数中 对 Buyer 进行赋值,这里利用了java中的多态特性,实现了同一个接口的不同实现。付款是一个方案的总和,付款下面有各种方案 比如 一折 三折 五折 八折。但是这样代码会非常的臃肿和不好维护,因为所有的方案都写到了一个方法里面。注意策略模式里面这些一个个方案都是独立 互斥的,你只能多选一。原创 2023-09-19 20:41:16 · 530 阅读 · 0 评论 -
享元模式 理解及代码案例
当需要操作字符时,首先检查字符缓存池中是否已经存在该字符对象,如果存在则直接使用,如果不存在则创建新的字符对象并将其加入缓存池,以便后续复用。这样,通过复用线程对象并共享线程的内部状态,线程池实现了对线程的有效管理和利用。在线程池中,线程的内部状态是固定的,例如线程的运行状态、优先级、线程组等,并且这些状态在线程的整个生命周期中保持不变。总结起来,线程池体现了享元模式的思想,通过共享线程对象的内部状态和复用线程对象,减少了线程的创建和销毁开销,降低了系统资源的消耗,提高了系统的性能和响应能力。原创 2023-05-25 06:42:30 · 141 阅读 · 0 评论 -
单例模式 (懒汉,饿汉,线程安全的懒汉)
这个专栏 主要分享和记录一些之前我对设计模式的学习和理解。希望可以帮助到之前不了解设计模式的新手。原创 2023-05-25 03:24:24 · 72 阅读 · 0 评论