![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java常用设计模式
文章平均质量分 60
大脑袋虾
这个作者很懒,什么都没留下…
展开
-
设计模式-门面模式
设计模式-门面模式1、定义:提供了一个统一的接口,用来你访问子系统中的一群接口,定义了一个高层接口,让调用者更容易使用。2、优点:简化了调用过程,无需深入了解子系统,以防给子系统带来风险;减少了系统以来,松散耦合;更好地划分访问层次,提高了安全性;遵循迪米特法则,即最少知道原则。3、缺点:当增加子系统和扩展子系统行为时,可能容易带来未知风险不符合开闭原则某些情况下可能违背单一...原创 2020-03-08 17:05:46 · 116 阅读 · 0 评论 -
设计模式-装饰器模式
设计模式-装饰器模式1、定义 :在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能)。2、优点:装饰器是继承的有力补充,比继承灵活,不改变原有对象的情况下动态的给一个对象扩展功能,即插即用;通过使用不同装饰类以及这些装饰类的排列组合,可实现不同效果;装饰器完全遵守开闭原则。3、缺点:会出现更多的代码,更多的类,增加程序复杂性;动态装...原创 2020-03-08 16:55:02 · 179 阅读 · 0 评论 -
设计模式-建造者模式
设计模式-建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,属于创建型模式。适用场景创建对象需要很多步骤,但是步骤的顺序不一定固定;如果一个对象有非常复杂的内容结果(很多属性)把复杂对象的创建和使用分离。汽车类public class Car { private String color; private String type; ...原创 2020-03-03 23:01:59 · 215 阅读 · 0 评论 -
设计模式-原型模式
设计模式-原型模式原型模式分为:不通过构造函数的方式创建对象,也就是copy对象。浅克隆和深克隆两种原型模式的有点:性能优良,Java自带的原型模式,是基于内存二进制流的拷贝,比直接new一个对象性能上提升了许多;可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份并将其状态保存起来,简化了创建过程。原型模式的缺点:必须配备克隆方法;当对已有类进行改造的时候,需要修改代码,...原创 2020-03-03 22:08:12 · 110 阅读 · 0 评论 -
设计模式-工厂模式
工厂模式:简单工厂,工厂方法,抽象工厂简单工厂是指由一个工厂对象决定创建出哪一种产品类的实例,不属于23中常用设计模式适用于:工厂类负责创建的对象较少的情况优点:只需传入一个正确的参数,就可以获取你所需要的对象,无须知道其创建的细节缺点:工厂类的职责相对过重,增加新的产品时需要修改工厂类的判断逻辑,违背开闭原则,不易于扩展过于复杂的产品结构工厂方法是指定义一个创建对象的接口,...原创 2019-07-07 16:02:25 · 127 阅读 · 0 评论 -
设计模式-单例模式
1. 单例模式(singleton pattern)定义 是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。属于创建型模式2. 单例模式常见写法 饿汉式单例 懒汉式单例 注册式单例 ThreadLocal单例3. 饿汉式单例 在单例类首次加载时就创建实例 缺点:不使用也创建实例,浪费内存空间package com.wb.pattern.singleton...原创 2019-07-21 13:06:12 · 96 阅读 · 0 评论 -
设计模式-委派模式
委派模式委派模式定义现实生活中的委派事例代码委派模式定义委派模式的基本作用是负责任务的调用和分配任务,跟代理模式很像,可以看做是一种特殊情况下的静态带来的全权代理,但是代理模式注重过程,而委派模式注重结果。不属于23中设计模式之一,属于行为型模式。现实生活中的委派事例老板(Boss)给项目经理(Leader)下达任务,项目经理会根据实际情况给每个员工派发任务,待员工把任务完成后,再由项目经...原创 2019-08-18 12:34:15 · 94 阅读 · 0 评论