自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 java享元模式

享元模式 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个分布于不同位置的圆来演示这种模式。由于只有 5 种可用的颜色,所以 color 属性被...

2019-03-29 10:22:57 107

原创 java外观模式

外观模式的定义: 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 介绍 意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一...

2019-03-28 10:23:49 113

原创 java 装饰模式

装饰模式的本质 装饰模式是指在不必改变原类文件和不使用继承的情况下,动态地扩展一个对象的功能,它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式无须通过继承增加子类就能扩展对象的新功能,使用对象的关联关系代替继承关系,更加灵活,同事避免类型体系的快速膨胀。 实现细节 —— component抽象构建角色: 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方...

2019-03-27 11:19:50 164

转载 java组合模式

学习难度:★★★☆☆,使用频率:★★★★☆】 树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点)。下面...

2019-03-26 17:14:37 155

原创 java桥接模式

桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥接模式。 桥接模式用一种巧妙的方式处理多层继承存在的问题...

2019-03-26 14:46:06 124

转载 try{ return }finally{}中的return? 详解

谁能给我我解释一下这段程序的结果为什么是:2.而不是:3 class Test { public int aaa() { int x = 1; try { return ++x; } catch (Exception e) { } finally { ++x; ...

2019-03-22 11:19:35 115

原创 java适配器模式

适配器模式的本质 将一个接口类转换成客户希望的另一个接口,Adapter模式使得原来由于接口不兼容而不能在一起工作的那些类可以一起工作。它的核心作用是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。 使用场景 1、已经存在的类的接口不符合我们的需求 2、创建一个可以复用的类,使得该类可以与其他不相关的类或不可预见的类协同工作。 3、后续系统的版本升级,扩展等起到很...

2019-03-15 10:27:02 148

原创 java原型模式

原型模式的本质: 原型模式的本质就是通过克隆的手段进行复制对象,当一个对象的构造函数十分复杂的时候,在他实例化的时候需要耗费大量的资源或者执行很多的方法,这个时候用到原型模式会节省很多的时间。 原型模式在进行克隆的时候,并没有调用类的构造器,而是通过通过Object中的clone()方法从堆内存中通过二进制流的方式进行拷贝,重新分配了一块内存。 原型模式的俩种方式: 浅克隆的定义:浅克隆就...

2019-03-13 16:05:11 114

原创 java建造者模式

建造者模式的本质 分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责),从而可以构造出复杂的对象,这个模式适用于:某个对象的构建过程十分复杂的时候。 建造者模式是实现了依赖倒转原则,抽象不应该依赖于细节,细节应该依赖于抽象。建造者的的定义是:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。 在建造者模式中...

2019-03-12 15:34:58 149

原创 java工厂模式

工厂模式: —— 实现类生产者和调用者的一个分离 —— 详细分类: 1.简单工厂 2.工厂方法 3.抽象工厂 设计模式遵循原则 开闭原则:对扩展开放,对修改关闭 里氏代换原则:只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被覆用。而衍生类也能够在基类的基础上增加新的行为 依赖倒转原则:开闭原则的基础,对接口编程,依赖于抽象而不依赖于具体 接口隔离原则:使用...

2019-03-11 16:00:09 159 1

原创 java单例设计模式

单例模式的基本思想和写法 单例模式的核心思想:一个类在全局中存在且只存在一个对象,这种思想更好的节省了资源,适用于非常消耗资源的使用场景。 实现单例模式需要注意的点: 1.构造器需要私有制,外部无法随意调用该类的构造器进行实例化对象 2.通过静态内部类、静态方法、或者枚举的方式进行返回 3.确保单例的对象只能有一个,尤其在多线程的环境下 4.确实单例类的构造器不被反射破解,单例类...

2019-03-09 12:40:05 125

原创 java动态性之——反射机制reflection

动态语言 ——程序在运行的时候可以改变程序的结构或者变量类型,典型的语言:javascript,pyhton,ruby。 如下面这段javascript代码: function test(){ var a=3; var b=4; alert(a+b); } C,C++,java并不是动态语言,但是java具有一定的动态性,我们可以通过反射机制或者字节码的操作获得类...

2019-03-05 21:30:11 253

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除