
设计模式
会写代码的花城
大家好,我是花城、没错就是那个花城,同时我是一个正在努力靠近目标的程序员,参与了dromara社区开源项目赫兹跳动,希望大家多多支持呀,也希望自己的博客能让我们大家一起向着各自的目标靠近
展开
-
Java设计模式笔记--------工厂模式------抽象工厂模式
抽象工厂模式 基本介绍 1)定义了一个interface用于创建相关或有依赖关系的对象簇,而无需指明具体的类 2)抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。 3)从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)。 4)将工厂抽象成两层,AbsFactory(抽象工厂)和具体实现的工厂子类。程序员可以根据创建对象类型使用对应的工厂子类。这样将单个的简单工厂类变成了工厂簇,更利于代码的维护和扩展。 类图 抽象工厂模式完成pizza项目 用尚硅谷韩老师的类图 改进是原创 2020-12-26 13:17:28 · 164 阅读 · 0 评论 -
Java设计模式------工厂模式-------工厂方法模式
工厂方法模式 我们先来看一个需求:客户在点披萨时,可以点不同口味的披萨,比如河南的奶酪pizza、河南的胡椒pizza或者是伦敦的奶酪pizza、伦敦的胡椒pizza。 思路 思路1:使用简单工厂模式,创建不同的简单工厂类,比如HNPizzaSimpleFactory、 LDPizzaSimpleFactory等等,从当前这个案例来说,也是可以的,但是考虑到项目的规模,以及软件的可维护性、可扩展性并不是特别好 思路2:使用工厂方法模式 工厂方法模式介绍 工厂方法模式设计方案:将披萨项目的实例化功能抽原创 2020-12-25 21:31:57 · 176 阅读 · 1 评论 -
Java设计模式----工厂模式-----简单工厂(静态工厂模式)
工厂模式 我们先看一个具体需求 看一个披萨的项目:要便于披萨种类的扩展,要便于维护 1)披萨的种类很多(比如GreekPizz(希腊)、CheesePizz (奶酪)等) 2)披萨的制作有prepare(准备材料), bake(烘烤), cut(切割), box(打包) 3)完成披萨店订购功能。 传统方式怎么做? 代码 Pizza抽象类 /** * @author 王庆华 * @version 1.0 * @date 2020/12/21 20:06 * @Description TODO原创 2020-12-21 21:14:47 · 423 阅读 · 3 评论 -
Java设计模式------单例模式
单例模式 简单介绍 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,-般情况下,一个项目通常只需要一个SessionFactory就够,这是就会使用到单例模式。 单例模式有八种方式: 1)饿汉式(静态常量) 2)饿汉式(静态代码块) 3) 懒汉式(线程原创 2020-12-20 17:12:31 · 323 阅读 · 0 评论 -
Java设计模式笔记------设计原则完结
里氏替换原则 可以说这个原则是在继承这个层次上提出的规范 00中的继承性的思考和说明 1)继承包含这样一层含义: 父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约(也就是说你可以不重写这些方法),但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。 2)继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带来侵入性,程序的可移植性降低,增加对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类原创 2020-12-19 22:38:35 · 136 阅读 · 1 评论 -
Java设计模式基础——设计原则(一)
引入 图解Java模式笔记 什么是设计模式 对于有些普遍存在(反复出现)的问题,所提出的解决方案 Java代码中哪里有体现到? 拿一道经典的面试题来说 1)有请使用UML类图画出原型模式核心角色 2)原型设计模式的深拷贝和浅拷贝是什么,并写出深拷贝的两种方式的源码(重写 clone方法实现深拷贝、使用序列化来实现深拷贝) 3)在Spring框架中哪 里使用到原型模式,并对源码进行分析 beans.xml <bean id="id01" class="com.atguigu.spring bea原创 2020-11-21 23:06:48 · 206 阅读 · 1 评论