五种创建型模式:

1.工厂模式

普通工厂模式:

工厂类提供一个方法可以生产多种实现了某种接口的类

多方法工厂模式:

一个方法对应一个要生产的类

静态工厂模式:

静态方法来生产类

2.抽象工厂模式

工厂类实现了某接口,产品实现了某接口。

新产品只需新建一个工厂类,无需修改原有的工厂类。

3.单例模式:

懒汉模式

public static Singleton getinstance(){

if(instance==null){

sychronized(instance){

instance=new Singleton();

}

}

return instance;

}

恶汉模式:

private  static Singleton instance=new Singleton();

public static Singleton getinstance(){

return instance;

}

4.建造者模式

工厂类关注于生产单个产品,建造类关注于较为复杂的生产。

5.原型模式:

以一个对象为模型,生产出类似的对象。

例子:

clone()浅复制:基本类型重新构建,新的引用和旧的引用仍指向同一个对象。

通过序列化和反序列化得到的对象,是深度复制,全部重新构建,包括引用的对象。

七种结构型模式:

适配器模式是结构型模式的起源

1.适配器模式:

将现有的接口转化为需要的接口,主要解决不兼容问题。

2.装饰者模式

3.代理模式

4.外观者模式:将多个类放在一个外观类中,从而降低这些类的耦合。例子:slf4j:simple logging facede 4 java

5.桥接模式:将抽象和实例解耦,使得它们可以各自独立变化。例子:jdbc规定接口,各个数据库各自提供驱动的实现。

6.组合模式:将多个对象组合在一起操作。

7.享元模式:例子:线程池。

java设计模式的更多相关文章

  1. Java 设计模式(四)-工厂方法模式 (FactoryMethod Pattern)

    1     概念定义 1.1   定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 1.2   类型 创建类模式 2     原理特征 2.1   类 ...

  2. Java 设计模式系列(十四)命令模式(Command)

    Java 设计模式系列(十四)命令模式(Command) 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复 ...

  3. Java 设计模式之建造者模式(四)

    原文地址:Java 设计模式之建造者模式(四) 博客地址:http://www.extlight.com 一.前言 今天继续介绍 Java 设计模式中的创建型模式--建造者模式.上篇设计模式的主题为 ...

  4. 深入探索Java设计模式(四)之享元模式

    享元模式适用于需要大量相同类型对象的情况.在此,设计布局可以减少创建多个对象的方式.对象在运行时会消耗资源,因此最好在内存中使用较少的对象.它减少了内存占用并利用了程序的整体性能.本文是在学习完优锐课 ...

  5. 【白话设计模式四】单例模式(Singleton)

    转自:https://my.oschina.net/xianggao/blog/616385 0 系列目录 白话设计模式 工厂模式 单例模式 [白话设计模式一]简单工厂模式(Simple Factor ...

  6. Java设计模式(三) 抽象工厂模式

    原创文章,同步发自作者个人博客,转载请注明出处 http://www.jasongj.com/design_pattern/abstract_factory/ 抽象工厂模式解决的问题 上文<工厂 ...

  7. Java设计模式(十二) 策略模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/design_pattern/strategy/ 策略模式介绍 策略模式定义 策略模式(Strategy Pattern) ...

  8. Java设计模式(二) 工厂方法模式

    本文介绍了工厂方法模式的概念,优缺点,实现方式,UML类图,并介绍了工厂方法(未)遵循的OOP原则 原创文章.同步自作者个人博客 http://www.jasongj.com/design_patte ...

  9. Java设计模式(一) 简单工厂模式不简单

    摘要:本文介绍了简单工厂模式的概念,优缺点,实现方式,以及结合Annotation和反射的改良方案(让简单工厂模式不简单).同时介绍了简单工厂模式(未)遵循的OOP原则.最后给出了简单工厂模式在JDB ...

  10. Java设计模式(十三) 别人再问你设计模式,叫他看这篇文章

    原创文章,转载请务注明出处 OOP三大基本特性 封装 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏. 继承 继承是指这样一种能力,它可以使 ...

随机推荐

  1. 初学者在ubuntu下安装使用git(上)

      一 git的安装测试 在Ubuntu系统下的bash中输入git,如果提示没有安装的话,用命令 sudo apt-get install git 安装git,安装完成之后通过 git –versi ...

  2. opencv常见代码

    http://blog.csdn.net/lyc_daniel/article/details/16883707

  3. servlet 之request

    request对象中其他功能     一.转发和包含         转发==>用于一个servlet和一个jsp合作处理             servlet用于处理逻辑.jsp用于显示   ...

  4. 技术架构:IBatisNet

    --连接数据库框架 1        providers.config 提供配制 常用的数据库连接程序 的xml文件 2        SqlMap.xml  SQL语句执行结果和实体对象之间的映射文 ...

  5. Ubuntu 16.04 64位 搭建 node.js NodeJS 环境

    我的系统环境: Ubuntu 16.04 64位 本文内容亲测可用, 请放心食用 使用淘宝镜像 淘宝镜像官网是https://npm.taobao.org/ 使用淘宝镜像前请自行安装好 npm 和 n ...

  6. textarea输入回车,前台jsp不回车问题解决

    jsp引入标签: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"% ...

  7. 单位圆盘的全纯自同构群Aut B(0,1)

    利用Schwarz引理可以求出单位圆盘$B(0,1)$的全纯自同构群${\rm Aut}B(0,1)$. 任取$a\in B(0,1)$,记$$\varphi_{a}(z)=\frac{a-z}{1- ...

  8. PHP字符串处理

    /*1 字符串格式化 */ $str = ' php '; //清理两边的空格trim();,左边ltrim(); 边rtrin() echo trim($str); //nl2br();将换行符\n ...

  9. C++中动态内粗分配new标识符的使用

    new是C++中内建的操作符,具体用法见下面详解: (1)new用法一:基本数据类型的内存动态分配 int *p; p=new int(10): 在这个例子中首先定义个一个指向整型类型的指针,紧接着用 ...

  10. ASP.NET MVC 插件化机制

    概述 nopCommerce的插件机制的核心是使用BuildManager.AddReferencedAssembly将使用Assembly.Load加载的插件程序集添加到应用程序域的引用中.具 体实 ...