
Java设计模式
文章平均质量分 85
23种设计模式,采用Java语言进行实现
黎梓鹏
通过 Java 去认识计算机的世界。。。
展开
-
Java设计模式之原型模式
原型模式1. 基本介绍原型模式【Prototype模式】,利用原型实例指定创建的对象种类,并通过拷贝原型实例来创建新的对象。是一种创建型设计模式,允许根据一个对象再创建一个可定制的对象,而无须知道其创建细节。工作原理:通过将原型对象传给要发动创建行为的对象,发动创建行为的对象通过调用原型对象拷贝自身的方法来实施创建。即 对象.clone()。2. UML类图描述Prototype:原型接口,声明一个拷贝自己的接口。ConcreteType:具体的原型类,实现一个拷贝自己的方法。C原创 2021-05-24 16:44:52 · 91 阅读 · 0 评论 -
Java设计模式之适配器模式
适配器模式1. 基本介绍适配器模式,将某个类的接口转换成客户端期望的另一个接口表示。主要目的是让原本接口不兼容的两个类可以协同工作。适配器的别名为包装器。属于结构型模式。主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。2. 工作原理将一种接口转换成另一种接口,让原本接口不兼容的类可以兼容。从用户角度是无法看到被适配者的,因此是解耦的。用户直接调用适配器转化出来的接口,适配器再调用被适配者的接口。3. 类适配器模式3.1 基本介绍适配器类Adapter通过继原创 2021-05-23 17:54:47 · 536 阅读 · 2 评论 -
Java设计模式之策略模式
策略模式1. 基本介绍策略模式,定义了算法族并分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。该模式体现了几个设计原则:开闭原则:把变化的代码从不变的代码中分离出来;依赖倒转原则:针对接口编程而不是具体的类;合成复用原则:多使用组合/聚合,少使用继承。2. 策略模式原理类图3. 场景设定编写鸭子项目:有各自鸭子【野鸭、水鸭、小黄鸭、北京烤鸭】各种鸭子的行为【飞、叫、飞行、游泳】显示鸭子信息4. 策略模式解决鸭子项目4.1 思路原创 2021-05-22 11:10:56 · 142 阅读 · 0 评论 -
Java设计模式之模板方法模式
模板方法模式1. 简介模板方法模式又称模板模式。指在一个抽象类中定义了使用它的方法的模板,子类可以按需实现某些方法,但是方法的执行还是按照抽象类中定义的顺序【模板】进行。换言之,模板方法模式规定了一个操作的算法骨架,而部分细节实现则可以延迟到子类实现。该模式在保证算法骨架的不变性的同时,为其中的细节实现提供了可变性。该模式属于行为型模式。2.场景设定豆浆制作有固定的步骤:选材==》添加配料==》浸泡==》放到豆浆机打碎。除了添加配料在不同口味豆浆中的操作不一样外,其他步骤在每次制作原创 2021-05-21 22:24:33 · 666 阅读 · 0 评论 -
Java设计模式之代理模式
代理模式1. 代理模式基本介绍为一个对象A提供一个代理对象B,以控制对对象A的访问,以便可以在对象A的基础上扩展其功能。被代理的对象可以是远程对象、创建时开销大的对象和需要安全控制的对象。代理模式有三种:静态代理、动态代理【JDK代理、接口代理】和Cglib代理【可以在内存中动态创建对象,而不用实现接口。也属于动态代理】。代理模式的简单示意图2. 静态代理静态代理需要定义接口或者父类,被代理类和代理类均需要实现相同的接口或者继承相同的父类。2.1 例子类关系图原创 2021-05-21 11:47:43 · 129 阅读 · 0 评论 -
Java设计模式之职责链模式
职责链模式0. 定义职责链模式又称为责任链模式。为请求创建了一个接收者对象链,可以实现请求的发送者与接收者之间的解耦。每个接收者通常都包含另一个接收者,当当前接收者无法处理请求时,则把相同的请求转发到另一个接收者进行处理,依此类推。该模式属于行为型模式。1. 场景设定学校OA系统的采购审批项目:采购员采购教学器材,需要金额x0<x<=5000,由教学主任审批5000<x<=10000,由院长审批10000<x<=30000,由副校长审批3原创 2021-05-19 09:20:13 · 151 阅读 · 0 评论 -
Java设计模式之概述与七大设计原则
1.设计模式目的 编写软件过程中,程序员面临着来自耦合性、内聚性、可维护性、可扩展性、重用性、灵活性等多方面的挑战。而设计模式就是为了让软件具有更好的:代码重用性(相同功能的代码不用多次编写)可读性(编程规范,便于其他程序员的阅读和理解)可扩展性(当需要增加新的功能时非常方便)可靠性(当增加新的功能时,对原来的功能没有影响)使程序呈现高内聚、低耦合的特性2.设计模式七大原则2.1单一职责原则2.1.1 基本介绍 一个类只负责一个职责。如果一个类包含两个职责,如职责A和职责B,则修原创 2021-05-18 09:29:11 · 242 阅读 · 0 评论 -
Java设计模式之观察者模式
观察者模式我是一名大三本科生,专业是软件工程【一本】。目前,正在准备找实习以及秋招,意向岗位是Java后端开发工程师。为此,在码云托管了一个项目,以整理我所有所学知识。涉及内容:计算机网络、操作系统、Java基础、主流Java后端框架、设计模式、Web前端框架等内容。欢迎大家访问我的开源项目编程之路码云地址:https://gitee.com/alizipeng/the-way-of-programming以下内容均记载在我的开源项目中0. 简介 定义对象间的一对多的关系。当一个对象【被观原创 2021-05-17 17:27:13 · 107 阅读 · 0 评论 -
Java设计模式之装饰者模式
装饰者模式前言我是一名大三本科生,专业是软件工程【一本】。目前,正在准备找实习以及秋招,意向岗位是Java后端开发工程师。为此,在码云托管了一个项目,以整理我所有所学知识。涉及内容:计算机网络、操作系统、Java基础、主流Java后端框架、设计模式、Web前端框架等内容。欢迎大家访问我的开源项目编程之路码云地址:https://gitee.com/alizipeng/the-way-of-programming以下内容均记载在我的开源项目中1. 定义动态地将新功能附加到对象中,就是装饰原创 2021-05-17 08:35:11 · 137 阅读 · 0 评论 -
Java设计模式之单例模式
单例模式前言我是一名大三本科生,专业是软件工程【一本】。目前,正在准备找实习以及秋招,意向岗位是Java后端开发工程师。为此,在码云托管了一个项目,以整理我所有所学知识。涉及内容:计算机网络、操作系统、Java基础、主流Java后端框架、设计模式、Web前端框架等内容。欢迎大家访问我的开源项目编程之路码云地址:https://gitee.com/alizipeng/the-way-of-programming以下内容均记载在我的开源项目中单例模式简述 采取一定的方法保证在整个软件系统中,对原创 2021-05-16 15:42:35 · 108 阅读 · 0 评论