
设计模式
今天成为大神了吗
这个作者很懒,什么都没留下…
展开
-
父类、接口、功能类的个人理解
2.常按照功能来创建,抽象函数为实现该功能必备的方法。在定义方法的时候尽量的少,减少对实现类的限制。2.所有子类都需要的方法都可以放到父类中,就算没有那么兼容也没有关系,子类可以重写方法来规避。1.类的根本属性才创建父类,所有的子类都需要的属性、方法全部放到父类。1.对外暴露,实现类实现指定功能,然后暴露指定方法供外部调用。类:最常见,能够实现所有功能。功能类:实现特定功能的类。原创 2024-04-26 16:44:19 · 276 阅读 · 0 评论 -
多线程教程(三十)享元模式
多线程教程(三十)享元模式 1. 简介 定义 英文名称:Flyweight pattern. 当需要重用数量有限的同一类对象时 wikipedia: A flyweight is an object that minimizes memory usage by sharing as much data as possible with other similar objects 出自 “Gang of Four” design patterns 归类 Structual patterns 2. 体现 2原创 2022-02-28 14:59:28 · 179 阅读 · 0 评论 -
多线程教程(二十一)double-checked locking 问题
多线程教程(二十一)double-checked locking 问题 一、double-checked locking的不完善实例 以著名的 double-checked locking 单例模式为例 public final class Singleton { private Singleton() { } private static Singleton INSTANCE = null; public static Singleton getInstance() {原创 2022-01-19 14:20:03 · 312 阅读 · 0 评论 -
多线程教程(十三) 设计模式之balking(犹豫模式)
多线程教程(十三) 设计模式之balking(犹豫模式) 一、定义 Balking (犹豫)模式用在一个线程发现另一个线程或本线程已经做了某一件相同的事,那么本线程就无需再做了,直接结束返回 和单例模式有点相似,结合单例模式,就是线程安全的单例模式 二、实现 public class MonitorService { // 用来表示是否已经有线程已经在执行启动了 private volatile boolean starting; public void start() {原创 2022-01-13 18:01:55 · 240 阅读 · 0 评论 -
多线程教程(十二)同步模式之保护性暂停
多线程教程(十二)同步模式之保护性暂停 一、定义 保护性暂停,即 Guarded Suspension,用在一个线程等待另一个线程的执行结果 要点 有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject 如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者) JDK 中,join 的实现、Future 的实现,采用的就是此模式 因为要等待另一方的结果,因此归类到同步模式 二、实现 class GuardedObject { private原创 2022-01-13 17:46:34 · 200 阅读 · 0 评论 -
设计模式-建造者模式
设计模式-建造者模式 https://zhuanlan.zhihu.com/p/58093669原创 2021-12-13 16:51:42 · 283 阅读 · 0 评论