设计模式
文章平均质量分 78
waj89757
这个作者很懒,什么都没留下…
展开
-
JSON原理&TOKEN是什么&PULL、PUSH模式
一、背景市面上有众多JSON工具原创 2021-07-23 17:35:51 · 815 阅读 · 1 评论 -
使用clone( )和Cloneable接口
由Object类定义的绝大部分方法在本书其他部分讨论。而一个特别值得关注的方法是clone( )。clone( )方法创建调用它的对象的一个复制副本。只有那些实现Cloneable接口的类能被复制。 Cloneable接口没有定义成员。它通常用于指明被创建的一个允许对对象进行位复制(也就是对象副本)的类。如果试图用一个不支持Cloneable接口的类调用clone( )方法,将引发一转载 2012-07-28 21:11:34 · 557 阅读 · 0 评论 -
原型模式
原型模式:1、定义:原型模式就是通过一个原型对象来表明要创建的对象类型,然后用复制这个对象的方法来创建更痛类型的对象。2、原理:有两部分组成,抽象原型和具体原型。3、使用时机:系统需要 创建吃的对象是动态加载的,而且产品具有一定层次时,可以考虑使用原型模式。1>当要实例化的类是在运行时刻指定时,例如,通过动态装载;2>或者为了避免创建一个与产品类层次平行的工厂类层次时;3>转载 2012-07-28 15:05:33 · 442 阅读 · 0 评论 -
模板方法模式
设计模式-快餐简解-【模板方法模式】【模板方法模式应用场景举例】比如在玩“极品飞车”这款游戏,每辆车都有显示速度的仪表盘,但有可能A车显示的是蓝色的仪表盘,B车显示的是红色的仪表盘,分析中可以发现,他们都有车速度的值,但显示的方式不太一样。其实模板方法就是最典型的“继承”的使用,大家平时百分百都可以用到,只是不知道叫模板方法模式:)!【模板方法模式解释】类型:行为模式转载 2012-07-29 20:18:44 · 471 阅读 · 0 评论 -
迪米特法则
迪米特法则可以简单说成:talk only to your immediate friends。 对于面向OOD来说,又被解释为下面几种方式:一个软件实体应当尽可能少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。 迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立转载 2012-07-30 11:10:08 · 1120 阅读 · 0 评论 -
singleton模式
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行转载 2012-07-30 20:48:56 · 529 阅读 · 0 评论 -
jdk的动态代理 proxy invocationHandler 面试重要!!
jdk的动态代理是基于接口的,必须实现了某一个或多个任意接口才可以被代理,并且只有这些接口中的方法会被代理。看了一下jdk带的动态代理api,发现没有例子实在是很容易走弯路,所以这里写一个加法器的简单示例。?1234567// Adder.java package test; public inte转载 2012-09-10 15:28:40 · 904 阅读 · 0 评论 -
设计模式 创建模式 结构模式和行为模式
创建型模式关注对象的创建结构型模式关注类或对象之间的组织关系行为型模式关注类或对象间的交互和职责分配(就是用来干什么)模式从本质上都是简化和分解类或对象,使易于扩展或封装性更好;一些相似的模式的区别最好从目的入手进行区分。 一, 创建型模式 (Creational Patterns)这一类型的设计模式, 所要表现的是对象的创建过程及和用户所使用的对象之间的关转载 2012-11-06 21:37:22 · 1903 阅读 · 0 评论 -
设计模式常见面试题
一、入门级程序员的面试题:这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念,但文内提供的这些问题也许能给你带来更多价值。1. 什么是设计模式?在你编码过程中使用了哪些设计模式?每位程序员都会利用自身经历来回答这些特定的设计问题。设计模式是代码重用的扩展。2. 你能说出在标准的JDK库转载 2013-04-08 10:12:02 · 4046 阅读 · 0 评论 -
设计模式面试——四种最常用的设计模式
请说出你所熟悉的几种设计模式。并举例说明: 下面列举四种最常用的设计模式 一、Strategy模式 1、两大原则 Strategy模式体现了如下的两大原则:1,针对接口编程,而不是针对实现编程。2,多用组合,少用继承。 2、 例子:二、Iterator模式 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的转载 2013-04-08 10:13:19 · 5691 阅读 · 0 评论 -
适配器模式
问题引出:大家生活中可能碰到的一个问题就是你新买的手机自带的耳机是2.5接口的,不幸的是有一天你的耳机坏了,你去市面上根本就找不到2.5的耳机了,基本上是3.5接口了,没办法你只好买了个3.5接口的耳机,老板告诉你:“我给你一个适配器”这不问题就解决了。问题分析:3.5的接口的耳机在你手机上本来是没法使用的,因为它没有按照2.5接口的设计啊,而现在我又想使用这幅耳机,于是乎有了“适配器(Ada转载 2012-08-07 14:02:19 · 453 阅读 · 0 评论 -
状态(State)模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构 用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每转载 2012-08-07 13:28:59 · 473 阅读 · 0 评论 -
newInstance() 是实现IOC、反射、面向接口编程和依赖倒置的必然选择
在初始化一个类,生成实例的时候,大家可能用new比较多,用newInstance较少。收集到的资料为: 最简单的描述来区分new关键字和newInstance()方法的区别: newInstance: 弱类型。低效率。只能调用无参构造。 new: 强类型。相对高效。能调用任何public构造。newInstance()是实现IOC、反射、面对接口编程和依赖倒置等技术方法的必然选择转载 2012-08-05 20:14:27 · 870 阅读 · 0 评论 -
工厂模式
一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于转载 2012-07-08 16:37:25 · 639 阅读 · 0 评论 -
装饰模式
类关系图 装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比继承更为灵活。 Compontent 是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent 是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了 Component,从外类来扩展 Component 类的功能转载 2012-07-10 17:26:38 · 400 阅读 · 0 评论 -
java代理模式
简介 即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。 代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者转载 2012-07-11 15:08:20 · 515 阅读 · 0 评论 -
建造者模式
定义 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。实用范围 1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2 当构造过程必须允许被构造的对象有不同表示时。角色 在这样的设计模式中,有以下几个角色: 1 builder:为创建一个产品对象的各个部件指定抽象接口。转载 2012-08-03 16:53:00 · 428 阅读 · 0 评论 -
设计模式 外观(Facade)模式
什么是(Facade)模式?Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用(出自百度文库)。即当子系统复杂或者繁锁时,我们让子系统提供一个窗口,程序中称为接口,其它程序或者对象就通过这个窗口(接口)与此子系统联系。接口可以是类或方法等。这样就简化了子系统的使用。作用是什么?简化子系统的使用。如何实现?转载 2012-08-03 17:05:16 · 563 阅读 · 0 评论 -
观察者<Observer>模式
观察者模式(有时又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观转载 2012-08-04 15:55:20 · 499 阅读 · 0 评论 -
JAVA反射机制
JAVA反射机制分类: Java基本知识 2008-09-03 14:45 6889人阅读 评论(9)收藏举报Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。 Java 的这一能力在实际应用中也许用得不是转载 2012-08-04 21:33:38 · 519 阅读 · 0 评论 -
抽象工厂模式
一、 抽象工厂(Abstract Factory)模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图:图中一共有四个产品族,分布于三个不同的产品等级结构中。只要指明一个产品所处的产品族以及它所属的等级结构,就可以转载 2012-08-04 16:54:01 · 675 阅读 · 0 评论 -
工厂模式 + 反射改进
1 简单工厂模式 一个工厂 一个抽象产品类 一组具体产品类 工厂根据参数决定返回那个具体产品 违反开闭原则 2 工厂方法模式 一个抽象工厂 一个抽象产品 一组具体工厂 和 与之对应的一组具体产品 每个工厂负责生产它的那种产品。3 抽象工厂方法模式 一个抽象工厂 一组抽象产品 一组具体工厂 和 与之对应的一组具体产品 与工厂方法转载 2012-08-05 20:07:17 · 770 阅读 · 0 评论