![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式(java)
mjfaye
这个作者很懒,什么都没留下…
展开
-
java设计模式(五):Proxy (代理模式)
代理模式是通过代理对象持有被代理对象的引用,去访问代理对象的同时,在前后做一些其他逻辑来增强功能,却不用去修改被代理对象的代码。 一、静态代理 代理类和被代理类都要实现的接口: package proxy; public interface ProxiedObjectInterface { void work(); } 被代理对象: package proxy...原创 2020-01-04 23:03:36 · 128 阅读 · 0 评论 -
java设计模式(四):Prototype (原型模式)
一、使用场景 用克隆一个对象的方法去生成另一个对象。就比如一个类有很多属性,想创建多个对象,这些对象的大多数属性都相同,只有几个属性不同,可以先克隆,再设置不一样的值。 二、浅克隆 复制基本数据类型,引用类型没有进行复制,Object的clone()方法默认的克隆形式。被克隆的对象必须实现Cloneable接口,否则会报CloneNotSupportedException异常。Clo...原创 2019-12-31 00:27:27 · 118 阅读 · 1 评论 -
java设计模式(一):Singleton(单例模式)
一、基本要求: 类构造器私有 持有自己类型的属性 对外提供获取实例的静态方法 二、饿汉模式 package singleton; public class HungrySingleton { private static HungrySingleton hungrySingleton = new HungrySingleton(); priv...原创 2013-07-27 10:30:55 · 538 阅读 · 0 评论 -
java设计模式(二):Template Method(模版方法)
如果一个抽象父类提供多个子类的通用方法,并把一个或多个方法留给其子类去实现,这就是Template Method Pattern。这是一个很常用、很简单的设计模式,整个过程就是一个抽象类的实现。抽象类作为多个子类的通用模版,子类在抽象类的基础上进行扩展和改造,但总体上回大致保留抽象类的行为方法。 在抽象父类Hero中定义了四个方法,其中move(),attact(),perfor原创 2013-07-27 11:47:42 · 450 阅读 · 0 评论 -
java设计模式(三):command(命令模式)
有时候我们会遇到这样一种场景:某个方法需要完成一个行为,但这个行为需要等到执行该方法的时候才能确定。具体来说,要对一个数组进行某个操作,但无法确定具体的操作,这时,可以定义一个方法ProcessArray,该方法具有两个参数,一个是要操作的数组,一个是具体的操作,由于这个操作不明确,可以定义一个接口command,里面有方法proces,需要实现的每一个操作都可以实现这个接口里的process方法原创 2013-08-05 11:46:41 · 462 阅读 · 0 评论