设计模式学习JAVA版
使用java来学习设计模式
可爱扎
人生苦短,及时熬夜
展开
-
初学设计模式(java版)六:创建型模式之--Prototype(原型模式)
一句话概括Prototype(原型模式) 通过已有实例创建新的实例 主要的接口和类 如果光讲这个模式的话,没什么主要的接口和类,一般都是与工厂模式结合,这里我会在之后的深入学习设计模式再做学习 我这里就直接使用clone方法,创建对象的拷贝实例赋值给新的对象 需要注意的是,使用clone方法的类要实现cloneable表示可以使用clone 具体案例 public class CloneableClass implements Cloneable { public static void main(原创 2020-12-14 18:57:20 · 145 阅读 · 0 评论 -
初学设计模式(java版)五:创建型模式之--Singleton(单例模式)
一句话概括Singleton(单例模式) 只创建一个实例(本笔记是初学笔记,主要是了解各种设计模式,后续会深入讲解,比如单例模式的懒汉式、饿汉式之类的,在本文就没有提及) 主要的接口和类 Singleton 通过getInstance获取单个实例的类 具体案例 Singleton public class Singleton { private static Singleton singleton = null; private Singleton(){ System.out原创 2020-12-10 11:23:24 · 151 阅读 · 0 评论 -
初学设计模式(java版)四:创建型模式之--FactoryMethod模式(工厂方法模式)
一句话概括FactoryMethod(工厂方法模式) 使用一个工厂类来定义创建实例的模板,将实例放进工厂管理 主要的接口和类 Factory(interface or abstractclass) 是一个抽象类或者接口,其定义了创建产品的各个方法,并实现了create这个模板方法,但具体如何创建、注册由子类决定,create方法将实现创建子类,并将子类注册给工厂。也就是说,我们将调用Factory创建产品的方法来创建产品实例,而不是通过new来创建(虽然内部是用new实现的,但用户是不需要用new的) Pr原创 2020-12-09 10:05:38 · 184 阅读 · 0 评论 -
初学设计模式(java版)三:行为型模式之--TemplateMethod模式(模板方法模式)
一句话概述TemplateMthod模式 使用子类去具体实现父类的方法,OOP的多态性的体现 TemplateMthod模式中两个主要的类和接口 AbstractClass(interface or abstarctclass) 定义了抽象方法与模板方法,在java8之后,interface可以使用default关键字,所以也可以实现模板方法 ConcreteClass(class) 具体实现抽象方法 该类就是要实现Iterator,是一个确切的迭代器,实现hasNext、next方法 其内应该有个具体的集原创 2020-12-08 09:08:20 · 156 阅读 · 0 评论 -
初学设计模式(java版)二:结构型模式之--Adapter模式(适配器模式)
一句话概述Adapter模式 将一个接口转换为用户所需要的接口 Adapter模式中三个主要的类和接口 Target(interface or abstract class) 用户所需要的接口,这个接口是一个抽象的,所以可以为interface或者abstract class,适配器模式有两种实现方法,分别就需要用到interface和抽象类 Adapter(class) 其继承或者实现了Target,是适配器模式中的核心所在,在其方法中去调用需要转换的类的方法 Adaptee(class) 被适配的对象,原创 2020-12-07 11:47:58 · 163 阅读 · 0 评论 -
初学设计模式(java版)一:行为型模式之--Iterator模式(迭代器模式)
一句话概述Iterator模式 使用迭代器一个个的遍历出集合中的元素 Iterator模式中四个主要的类和接口 Iterator(interface) 迭代器的接口。 首先,我们要知道迭代器的作用----遍历集合的元素。所以其主要的两个方法为hasNext、next。 hasNext用于判断是否还有下一个元素、next用于取出当前元素,并且指向下一个元素(注意,这里的next是获取当前) ConcreteIterator(class) 该类就是要实现Iterator,是一个确切的迭代器,实现hasNext、原创 2020-12-01 02:04:41 · 235 阅读 · 0 评论 -
初步学习设计模式(总目录)
前言 为什么要学设计模式 在之前学习spring的过程中,了解到了工厂、容器、bean的概念,还有aop面向切面编程的概念,其中就涉及到了好几种设计模式,如工厂模式、单例模式、代理模式等等(可能说的不太准确)。如果只是简单的会用spring相对来说是比较简单的,但理解这一块,就不太行了,光是aop,我就只能做到理解,他具体如何实现的,我是一脸懵逼,于是想着把设计模式过一遍 关于文章 主要是笔记,记录自己设计模式学习的见解,应该是偏新手向的,因为我也是第一次学,之后还会写c++版,c++版就会以一个总结性质的原创 2020-12-01 01:11:20 · 154 阅读 · 0 评论