
Java 设计模式
文章平均质量分 80
红日666
红日初升,其道大光 ^_^
展开
-
Java设计模式之构建者模式
一、定义:将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象。二、角色:构建者模式的结构图如上所示,包含的角色如下:Director:导演类(指挥者),负责安排已有模块的顺序,然后通知Builder开始建造。Builder:抽象Builder类,规范产品的组建,一般由子类实现。ConcreteBuilder:具体建造者,实现抽象Builder类定义的所有方法,并且返回一个组建好的对象。Product:具体的产品类。三、具体实现:我们以台式机DI原创 2022-04-05 10:55:01 · 1437 阅读 · 1 评论 -
Java设计模式之命令模式
一、定义:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。二、角色:命令模式UML类图:1、Command:定义命令的接口,声明执行的方法。2、ConcreteCommand:命令接口实现对象,是“虚”的实现;通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。3、Receiver:接收者,真正执行命令的对象。任何类都可能成为一个接收者,只要它能够实现命令要求实现的相应功能。原创 2022-01-21 16:49:02 · 529 阅读 · 0 评论 -
Java设计模式之适配器模式
一、概述:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 二、解决的问题:即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 三. 模式中的角色:1、目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。2、需要适配的类(Adaptee):需要适配的类或适配者类。3、适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。原创 2022-01-21 11:53:28 · 856 阅读 · 0 评论 -
Java设计模式之模板方法模式
一、定义:定义一个操作中的算法框架,而将一些步骤延迟到子类中,使得子类不改变一个算法的结构即可重定义算法的某些特定步骤。模板方法模式的结构图:模板方法模式有如下角色:1、AbstractClass:抽象类,定义了一套算法框架。2、ConcreteClass:具体实现类。二、模板方法模式的实现:1、创建抽象类,定义算法框架:/** * 创建抽象类,定义算法框架 */public abstract class AbstractSwordsman { //空实现方法原创 2022-01-21 11:33:01 · 5120 阅读 · 2 评论 -
Java设计模式之生产者/消费者模式
一、什么是生产者/消费者模式?某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。在生产者与消费者之间在加个缓冲区,我们形象的称之为仓库,生产者负责往仓库了进商品,而消费者负责从仓库里拿商品,这就构成了生产者消费者模式。结构图如下:二、生产者消费者模式的优点:1、解耦:由于有缓冲区的存在,生产者和消费者之间不直接依赖,耦合度降低。2、支持并发:由于生产者与消费者是两个独立的原创 2022-01-19 12:02:35 · 4548 阅读 · 2 评论 -
Java设计模式综述
Java设计模式总述 [持续更新...]一、设计模式六大原则1、单一职责原则2、开放封闭原则3、里氏替换原则4、依赖倒置原则5、迪米特原则6、接口隔离原则总结二、设计模式分类1、创建型设计模式单例模式:工厂方法模式:抽象工厂模式:建造者模式:原型模式:2、结构型设计模式适配器模式:装饰者模式:代理模式:外观模式:桥接模式:组合模式:享元模式:3、行为型设计模式策略模式:模板方法模式:观察者模式:迭代器模式:责任链模式:命令模式:备忘录模式:状态模式:访问者模式:中介者模式:解释器模式:一、设计模式六大原则原创 2020-12-13 22:42:36 · 601 阅读 · 1 评论 -
Java设计模式之装饰者模式
Java设计模式之装饰者模式目录一、定义二、具体实现三、使用场景四、优缺点目录装饰者模式是结构性设计模式之一,其在不必改变类文件及不使用继承的情况下,动态地扩展一个对象的功能。它通过创建一个包装对象(即装饰)来包裹真实的对象。一、定义动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。装饰着模式的结构图:如上结构图所示,装饰者模式中有如下角色:Component:可以是接口或者是抽象类,被装饰的最原始的对象。ConcreteComponent:组件具体实现类。原创 2020-12-13 15:41:09 · 6061 阅读 · 6 评论 -
Java设计模式之策略模式
一、策略模式的定义:定义一系列的算法,把它们一个个封装起来,并且可以使他们互相替换。本模式可以使得算法可独立与使用它的客户而变化。二、策略模式出现背景举例:当我们给人支付工资的时候可以使用不同的支付方式:1、使用人民币现金2、使用美元现金3、使用信用卡4、使用微信支付5、使用支付宝...等等,有很多种支付方式,那到底最终要选择哪一种支付方式呢,其...原创 2019-11-03 18:34:53 · 6294 阅读 · 0 评论 -
Java设计模式之代理模式
代理模式是开发中经常用到的设计模式,代理模式的定义如下:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。它使得客户不能直接与真正的目标对象通信。代理对象是目标对象的代表,其他需要与这个目标对象打交道的操作都是和这个代理对象在交涉。优点:解耦合性--降低了不同类之间的依赖性。 职责清晰--真实角色只需关注业务逻辑的实现,非业务逻辑部分,后期通过代理类完...原创 2019-05-05 19:37:35 · 596 阅读 · 0 评论 -
Java设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
最近正好有时间回顾了下工厂模式,一般包含有如下三种工厂模式:简单工厂模式 工厂方法模式 抽象工厂模式1、简单工厂模式:1.1、模式定义:简单工厂模式又称为静态工程方法模式,它属于类创建模式。在简单工厂中,专门定义一个工厂类用来创建其他类的实例,并且可以根据不同的参数来获取不同的类实例。简单工厂模式并不算是一种设计模式,不在23种模式之列,简单工程更多的是一种编程习惯。...原创 2019-05-06 21:22:07 · 530 阅读 · 0 评论 -
Java设计模式之观察者模式
Android开发如果不懂设计模式,那么再深度研究就会困难重重,笔者深有体会,研究设计模式势在必行:第一篇:观察者模式:观察者模式定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并会自动更新。观察者模式中主要有目标对象(被观察者)和观察者2个对象。本文使用报社(目标对象)与读者(观察者)来形象替代以上2个对象,实现流程如下:读者...原创 2015-05-12 14:00:51 · 1101 阅读 · 0 评论 -
Java设计模式之单例模式
Android开发中都会用到的一种最简单的设计模式,尤其是当初的面试中经常被问到的一种设计模式:第二篇:单例模式当需要控制一个类的实例只能有一个,而且客户只能从一个全局访问点访问它时,可以选用单例模式。单例模式有两种:饿汉式与懒汉式。一、饿汉式(饿汉式天生就是线程安全的,可以直接用于多线程而不会出现问题):/** * 单例模式: * 饿汉式(饿汉式是线程安全的) ...原创 2015-05-12 17:46:59 · 1044 阅读 · 1 评论