设计模式
文章平均质量分 69
一条没有梦想的闲鱼
一只懵逼的程序猿
展开
-
设计模式--模板方法模式
背景需求编写制作豆浆的程序制作豆浆的流程 选材-->添加配料-->浸泡-->放到豆浆机打碎 通过添加不同的配料,可以制作出不同口味的豆浆 选材、浸泡和放到豆浆机打碎这几个步骤对于每种口味的豆浆都是一样的基本介绍模板方法模式(Template Method Pattern),又叫模板模式,在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行 简单说,模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得原创 2022-05-04 16:33:41 · 582 阅读 · 0 评论 -
设计模式--组合模式
背景需求编写一段程序展示一个学校院系结构:要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。基本介绍组合模式,又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示"整体--部分"的层次关系 组合模式依据树形结构来组合对象,用来表示部分以及整体层次 这种类型的设计模式属于结构型模式 组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户以一致的方式处理个别对象以及组合对象组合模式解决的问题当我们要处理的对象可以生成一颗树形结构,原创 2022-05-03 14:36:05 · 139 阅读 · 0 评论 -
设计模式--装饰者模式
背景需求星巴克咖啡订单项目咖啡种类:意大利浓咖啡(Espresso),美式咖啡(LongBlack),无因咖啡(Decaf) 调料:Milk、Soy、Chocolate 要求在拓展新的咖啡种类时,具有良好的拓展性,改动方便,维护方便 计算不同种类咖啡的费用:客户可以单品咖啡,也可以单品咖啡+调料组合定义装饰者模式:动态的将新功能附加到对象上。在对象功能拓展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(ocp)。代码示例package com.zjb.design.deco原创 2022-05-02 16:28:10 · 261 阅读 · 0 评论 -
设计模式--桥接模式
基本介绍桥接模式(Bridge模式)是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变 是一种结构型设计模式 桥接模式基于类的最小设计原则,通过使用封装,聚合及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象与行为实现分离开来,从而可以保持各部分的独立性以及对应他们的功能拓展背景需求代码示例package com.zjb.design.bridge;/** * @Author Kim * @Date 2022/5/2 14:35 * @Desc.原创 2022-05-02 15:11:16 · 185 阅读 · 0 评论 -
设计模式--适配器模式
类适配器、对象适配器、接口适配器原创 2022-04-30 18:40:29 · 182 阅读 · 0 评论 -
设计模式--建造者模式
背景需求需要建房子,这一过程为打桩、砌墙、封顶 房子有各种各样的,比如普通房,高楼,别墅。各种房子的过程虽然都是一样的,但是要求是不相同的基本介绍建造者模式(Builder Pattern)又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式四个角色Product(产品角色):原创 2022-04-30 17:09:07 · 254 阅读 · 0 评论 -
设计模式--原型模式
克隆羊思路:Java中Object类是所有类的根类,Object类提供了一个clone()方法,该方法可以将一个Java对象复制一份,但是需要实现clone的Java类必须要实现一个接口Cloneable,该接口表示该类能够复制且具有复制的能力==>原型模式。基本介绍原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象 原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节 工作原理:通过将一个原原创 2022-04-23 21:00:11 · 611 阅读 · 1 评论 -
设计模式--工厂模式
简单工厂模式需求做一个披萨的项目:要便于披萨种类的拓展,要便于维护披萨的种类很多 披萨的制作有prepare,bake,cut,box 完成披萨店订购功能基本介绍简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实施。简单工厂模式是工厂模式家族中最简单实用的模式。 简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为(代码) 在软件开发中,当我们会用到大量的创建某种、某类或某批对象时,就会使用到工厂模式代码示例原创 2022-04-23 15:18:07 · 545 阅读 · 0 评论 -
设计模式--单例模式
目录介绍单例模式的八种方式饿汉式(静态常量)步骤如下代码实现优缺点说明饿汉式(静态代码块)步骤如下代码实现优缺点说明懒汉式(线程不安全)代码实现优缺点说明懒汉式(线程安全,同步方法)代码实现优缺点说明懒汉式(线程不安全,同步代码块)代码实现优缺点说明双重检查代码实现优缺点说明静态内部类代码实现优缺点说明枚举代码实现优缺点说明单例模式JDK源码分析单例模式的注意事项及细节使用场景介绍原创 2022-04-17 20:31:49 · 93 阅读 · 0 评论 -
设计模式介绍
目的编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可拓展性,重用性,灵活性等多方面的挑战,设计模式就是为了让程序具有更好的代码重用性(即:相同功能的代码,不用多次编写) 可读性(即:编码规范性,便于其他程序员的阅读和理解) 可拓展性(即:当需要增加新的功能时,非常方便,称为可维护性) 可靠性(即:当我们增加新的功能时,对原来的功能没有影响) 使程序呈现高内聚,低耦合的特性七大原则单一职责原则 接口隔离原则 依赖倒转原则 里氏替换原则 开闭原则 迪米特法则 合成原创 2022-04-16 18:09:58 · 295 阅读 · 0 评论