摘要: 享元模式概述 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。 引入应用示例帮助理解该模式 阅读全文
posted @ 2018-11-05 22:59 java农民工 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 观察者模式概述 观察者模式是对象的行为模式,又叫做发布 订阅模式、模型 视图模式、源 监听器模式或者从属者模式,这个模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。 代码体现 由上面的描述,我们设想 阅读全文
posted @ 2018-11-05 17:09 java农民工 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 的略模式概述 问题引入 解决方案 代码体现 所对应的类图: 运行结果 由上面的例子可以看出——策略模式有三个角色: 1、环境角色(Context类),持有一个strategy类的引用 2、抽象策略角色(strategy类)这是一个抽象角色,通常有一个接口或者抽象类实现,此角色给出所有具体策略类所需的 阅读全文
posted @ 2018-11-04 22:51 java农民工 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 桥接模式概述 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 代码示例 桥 阅读全文
posted @ 2018-11-04 21:26 java农民工 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 什么是适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类(通常叫Adapter类),该类负责加入独立的或不兼容的接口功能。 举个真实的例子,读卡器是作为内存卡和笔记本之间 阅读全文
posted @ 2018-11-04 12:37 java农民工 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 概述 Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 意图:将一个复杂的构建与其表示相分离,使得同 阅读全文
posted @ 2018-11-01 22:35 java农民工 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 什么是原型模式 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。 原型模式的特点 1. 由原型 阅读全文
posted @ 2018-10-30 23:07 java农民工 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 什么是单例模式 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。 其实,GoF(《Design Patterns: Elements of Reusable Object Oriented Software》(即后 阅读全文
posted @ 2018-10-30 00:07 java农民工 阅读(175) 评论(0) 推荐(0) 编辑
摘要: ArrayList 源码分析: jdk7: ArrayList list = new ArrayList();//初始化一个长度为10的Object[] elementData sysout(list.size());//返回存储的元素的个数:0 list.add(123); list.add(34 阅读全文
posted @ 2018-10-29 21:40 java农民工 阅读(948) 评论(0) 推荐(0) 编辑
摘要: 概述 Java 8中,你可以为接口添加静态方法和默认方法。从技术角度来说,这是完全合法的,只是它看起来违反了接口作为一个抽象定义的理念。猜想设计初衷可能使为了兼容8以下的jdk Java8出来了个函数式接口,只要声明成函数式接口的接口都只能有一个抽象方法,为了便于扩展,赋予接口这么一个新特性 静态方 阅读全文
posted @ 2018-10-25 17:09 java农民工 阅读(1359) 评论(0) 推荐(0) 编辑