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