![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java设计模式
GH&BWT&LDF
这个作者很懒,什么都没留下…
展开
-
java适配器模式
适配器模式的本质将一个接口类转换成客户希望的另一个接口,Adapter模式使得原来由于接口不兼容而不能在一起工作的那些类可以一起工作。它的核心作用是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。使用场景1、已经存在的类的接口不符合我们的需求2、创建一个可以复用的类,使得该类可以与其他不相关的类或不可预见的类协同工作。3、后续系统的版本升级,扩展等起到很...原创 2019-03-15 10:27:02 · 158 阅读 · 0 评论 -
java建造者模式
建造者模式的本质分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责),从而可以构造出复杂的对象,这个模式适用于:某个对象的构建过程十分复杂的时候。建造者模式是实现了依赖倒转原则,抽象不应该依赖于细节,细节应该依赖于抽象。建造者的的定义是:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。在建造者模式中...原创 2019-03-12 15:34:58 · 149 阅读 · 0 评论 -
java原型模式
原型模式的本质:原型模式的本质就是通过克隆的手段进行复制对象,当一个对象的构造函数十分复杂的时候,在他实例化的时候需要耗费大量的资源或者执行很多的方法,这个时候用到原型模式会节省很多的时间。原型模式在进行克隆的时候,并没有调用类的构造器,而是通过通过Object中的clone()方法从堆内存中通过二进制流的方式进行拷贝,重新分配了一块内存。原型模式的俩种方式:浅克隆的定义:浅克隆就...原创 2019-03-13 16:05:11 · 115 阅读 · 0 评论 -
java桥接模式
桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥接模式。 桥接模式用一种巧妙的方式处理多层继承存在的问题...原创 2019-03-26 14:46:06 · 127 阅读 · 0 评论 -
java组合模式
学习难度:★★★☆☆,使用频率:★★★★☆】树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点)。下面...转载 2019-03-26 17:14:37 · 161 阅读 · 0 评论 -
java 装饰模式
装饰模式的本质装饰模式是指在不必改变原类文件和不使用继承的情况下,动态地扩展一个对象的功能,它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式无须通过继承增加子类就能扩展对象的新功能,使用对象的关联关系代替继承关系,更加灵活,同事避免类型体系的快速膨胀。实现细节—— component抽象构建角色:装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方...原创 2019-03-27 11:19:50 · 169 阅读 · 0 评论 -
java外观模式
外观模式的定义:外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一...原创 2019-03-28 10:23:49 · 117 阅读 · 0 评论 -
java享元模式
享元模式享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个分布于不同位置的圆来演示这种模式。由于只有 5 种可用的颜色,所以 color 属性被...原创 2019-03-29 10:22:57 · 110 阅读 · 0 评论