Java设计模式知识整理

1、Java设计模式
     Java设计模式分为三种类型,分别是:
     ①、创建型设计模式:是对对象创建过程的各种问题和解决方案的总结
           包括:静态工厂模式、抽象工厂模式、单例模式、构建器模式、原型模式
     ②、结构型设计模式:是针对软件设计结构的总结
           包括:装饰器模式、适配器模式、代理模式、桥接模式、组合模式、外观模式、享元模式
     ③、行为型设计模式:是从类或者对象之间交互、责任划分等角度的总结
           包括:策略模式、解释器模式、命令模式、观察者模式、迭代器模式、模板方法模式、访问者模式

2、Spring中使用到的设计模式
     ①、BeanFactory和ApplicationContext使用了【工厂模式】
     ②、Bean的创建中,Spring为不同scope定义的对象提供了【单例模式】和【原型模式】
     ③、各种事件监听器,使用了【观察者模式】
     ④、类似jdbctemplate,使用了【模板模式】

3、其他关于设计模式的应用
     ①、FileInputStream和ByteArrayInputStream从不同的角度对inputStream进行功能扩展,使用了【装饰器模式】
     ②、StringBuilder和StringBuffer,以及构建HttpRequest的过程,使用了【构建器模式】

原文地址:https://www.cnblogs.com/conswin/p/10420591.html

时间: 2024-10-15 10:41:46

Java设计模式知识整理的相关文章

JAVA基础知识整理

一.首先先明白get与post的基本定义和区别: 这是两种在客户端和服务器端进行请求-响应的方法. 1get:从指定的资源请求数据. 2post:向指定的资源提交要处理的数据. get基本上用于从服务器取回数据,注意:get方法可能返回缓存数据. post可以从服务器上获取数据,不过,post方法不会缓存数据,并且常用语连同请求一起发送数据. 二. Jquery $.get()方法. $.get()方法通过Http Get发起请求,从服务器上请求数据. 语法:&.get(URL,callback

Java基础知识整理(一)

概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以便于自己的学习.作为个.NET程序猿也可以学习Java ,毕竟技多不压身,学习多也要精通. 开发工具 eclipse ,开发java类似.NET 需要装JDK类似.NET Framework. Java开发工具eclipse设置 1.设置字体:window设置: 2.设置快捷键:window--ke

Java并发知识整理

整理了一下前端时间学习Java并发的笔记,大约有40篇. 1. Java并发基础知识 并发基础(一) 线程介绍 并发基础(二) Thread类的API总结 并发基础(三) java线程优先级 并发基础(四) java中线程的状态 并发基础(五) 创建线程的四种方式 并发基础(六) 线程Thread类的start()和run() 并发基础(七) Thread 类的sleep().yeild().join() 并发基础(八) java线程的中断机制 并发基础(九) java线程的终止与中断 并发基础

JAVA基础知识整理 常用框架

JAVA反射---相关资料: 1.Java反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)检查类,接口,变量以及方法的信息 2.反射还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法获取变量的值. 参考框架:Butterfly Persistence 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种

Java多线程知识整理

一.概念 进程-->正在进行中的程序. 迅雷下载时将一个文件拆分为5部分,是为了跟CPU争夺资源. 拆分的5部分,每一部分都称之为线程. 线程是程序中的控制单元,或者叫执行路径. 每一个进程执行都有一个执行顺序,该顺序是一个执行路径, 每一个程序打开,都会在内存中分配一块空间. 进程就是为了定义,标识这个空间的,它用于封装里面的控制单元. 线程就是进程中的一个独立的控制单元,线程在控制着进程的执行. 一个进程中至少有一个线程,线程是进程中的内容. JVM 启动的时候会有一个进程Java.exe

Java常用知识整理

一.ClassLoader 当运行一个Java 程序时,JVM启动,运行bootstrap classLoader(启动类加载器),将Java核心的API加载进来:接着调用ExtClassLoader加载扩展API,最后AppClassLoader加载CLASSPATH目录下定义的Class:这就是一个程序最基本的加载过程. 最常用的两个方法应该是ClassLoader.loadClass(String name , boolean resolve)和Class.forName(String n

Java基础知识整理(一) 面向对象程序设计——封装整理

1 类中的属性又叫成员变量(member variable),属性用英文(property)或者attribute 2 对象(Object) 又叫做实例(Instance).生成一个对象的过程叫做对象的实例化 3 面向对象编程中命名的约定:  (a) 类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都要大写,中间不使用仍何连接符,比如Person类 ,MemberTest类     (b)方法:首字母小写,如果一个方法由多个单词构成,那么第一个单词的所有字母全都小写,从第二个单词

java基础知识整理:

一, Java中的继承: 1. final关键字(最终的,不可修改的不可变化的,可以修饰类,方法,变量等): 如果final修饰类的话,这个类不可以被继承: 如果修饰方法的话,这个方法不可以被子类覆盖(重写): 如果修饰属性的话,该类的属性不会被自动初始化. final修饰变量的时候只可以被赋值一次.并且在声明的时候就得赋值,可以称其为常量.在其它地方不可以被赋值.(会报错) 2. java中的super:通常用在对象内部,代表父类对象. 调用方法: super.父类方法或者属性. 在子类中通过

Java内存知识整理

因主要是摘录,先列参考文献: http://ifeve.com/jmm-faq/ 1,我理解的Java内存模型是在多处理器,多线程的场景下保证在内存里的读写不会存在歧义. "Java内存模型描述了在多线程代码中哪些行为是合法的,以及线程如何通过内存进行交互.它描述了"程序中的变量" 和 "从内存或者寄存器获取或存储它们的底层细节"之间的关系.Java内存模型通过使用各种各样的硬件和编译器的优化来正确实现以上事情." 2,同步,同步并不仅仅是互斥.