
设计模式
文章平均质量分 72
STRANG-P
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式 - 策略模式
策略模式 (也叫做政策模式):定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。使用策略模式后,可以由其他模块决定采用何种策略,策略家族对外提供的访问接口就是封装类,简化了操作,同时避免了条件语句判断。平时使用时,一般用工厂方法模式来实现策略类的声明。原创 2023-05-25 20:02:46 · 180 阅读 · 0 评论 -
设计模式 - 工厂方法模式
工厂方法模式,就是定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。该模式在日常开发中使用频率较高,同时根据具体的场景,灵活改造扩展。1、在所有需要生成对象的地方,都可以使用工厂方法模式,但需要慎重考虑是否要增加一个工厂类进行管理,增加代码的复杂度。2、需要灵活可扩展的框架时,可以考虑使用工厂方法模式。静态工厂模式的工厂类扩展比较困难,不符合开闭原则。1、工厂方法模式,有良好的封装性,代码接口清晰。3、工厂方法模式是典型的解耦框架。3、可以在异构项目中使用。原创 2023-05-07 19:32:52 · 642 阅读 · 0 评论 -
设计模式 - 责任链模式
责任链接的核心类,就是抽象类 IHandler、抽象类的子实现子类、还有就是业务类。当然在具体的使用前,我们需要根据业务场景灵活使用。对于每个抽象类的实现类,只需要关注自己的业务逻辑,抽象类的实现类只专注怎样做事,具体自己需要处理哪一种事,那就交给父类去决定。抽象类实现了请求传递的功能,抽象类实现请求的处理,这也是设计模式单一职责原则的体现。举例:银行里面有存款业务,然后也有很多币种类型(人民币、美元、日元)。原创 2023-04-22 12:23:57 · 1047 阅读 · 0 评论 -
设计模式-观察者模式
拿下面代码的例子来说,就是 李斯 观察 韩非子,如果 李斯观察到韩非子 在吃东西,那李斯就要对韩非子吃东西的行为,做出响应的反应。观察者可以有多个,就是除了李斯可以观察韩非子,张三和李四也可以观察韩非子,并对韩非子的行为,做出相应的反应。定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。一个被观察者,多个观察者,开发和调式会比较复杂。java 中消息的通知默认是顺序执行,一个观察者卡壳,会影响整体的执行效率。这种情况下,多采用异步处理。原创 2023-04-07 12:30:15 · 371 阅读 · 0 评论 -
Java 的静态工厂模式和抽象工厂模式
Java 的静态工厂模式和抽象工厂模式1、静态工厂模式1.1、优缺点1.2、实现案例1.2.1、抽象类1.2.2、实现类1.2.3、静态工厂类1.2.4、测试类2、抽象工厂模式2.1、适用场景2.2、案例介绍2.2.1、抽象类2.2.2、实现类2.2.3、工厂类2.2.4、测试类1、静态工厂模式 静态工厂模式,在平常开发中是比较常见的。 1.1、优缺点 优点:原创 2021-06-17 16:11:26 · 4356 阅读 · 1 评论 -
详聊单例模式
线程的安全发布-单例模式1、安全发布对象2、七种单例模式的写法2.1 普通的懒汉模式2.2 普通的饿汉模式2.3 线程安全的懒汉模式2.4 双重同步锁单例模式2.5 volatile + 双重同步锁单例模式2.6 静态代码块的饿汉模式2.7 枚举模式单例(推荐写法)1、安全发布对象 发布对象:使一个对象能够被当前范围之外的代码所使用。对象逸出:一种错误的发布。当一个对象还没有构造...原创 2020-04-11 16:53:51 · 293 阅读 · 0 评论 -
原型设计模式—解决随机乱序出试卷(试题顺序、选项顺序随机打乱)
原型设计模式1、实现机制2、使用场景3、使用案例3.1、案例说明3.2、代码结构3.3、案例实现3.3.1、实体类3.3.2、工具类3.3.3、实现类3.3.4、测试类3.3.5、测试结果1、实现机制 实现机制: 通过实现 Cloneable接口,再重写 clone()方法返回想要的对象。原型模式实现clone接口的时候必须使用深拷贝。 &原创 2021-06-16 15:59:43 · 2918 阅读 · 1 评论