
JAVA_01_设计模式
JAVA设计模式
狮子Leo
千里之行 始于足下
展开
-
Java设计模式(九)之外观模式
在这个对象图中,出现了两个角色: ● 门面(Facade)角色 :客户端可以调用这个角色的方法。此角色知晓相关的(一个或者多个)子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。 ● 子系统(SubSystem)角色 :可以同时有一个或者多个子系统。每个子系统都不是一个单独的类,而是一个类的集合(如上面的子系统就是由ModuleA、ModuleB、ModuleC三个类组合而成)。每个子系统都可以被客户端直接调用,或者被门面角色调用。子系统并不知道门面的存在,对.原创 2021-05-13 17:49:26 · 88 阅读 · 0 评论 -
Java设计模式(三)之单例模式
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。 单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 首先我们写一个简单的单例类: ...转载 2021-05-11 09:43:57 · 105 阅读 · 0 评论 -
Java设计模式(一)之工厂模式
工厂方法模式分为三种:普通简单工厂、多方法简单工厂、静态方法简单工厂。 01、简单工厂模式 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口: public interface Sender { public void Send(); } 其次,创建实现类: public class MailSender implements Sender { @Override public void Send() { Syst原创 2021-05-10 15:55:14 · 95 阅读 · 0 评论 -
Java设计模式(八)之代理模式
public interface Sourceable { public void method(); } public class Source implements Sourceable { @Override public void method() { System.out.println("the original method!"); } } public class Proxy implements Sourceable { private Source sourc.原创 2021-05-13 17:36:15 · 85 阅读 · 0 评论 -
Java设计模式(五)之原型模式
该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。 在Java中,复制对象是通过clone()实现的,先创建一个原型类: public class Prototype implements Cloneable { public Object clone() throws CloneNotSupportedException { Prototype proto = (Prototype) super.clone(); return proto; } } 原原创 2021-05-11 17:33:31 · 94 阅读 · 0 评论 -
Java设计模式(四)之建造者模式
工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。 在这样的设计模式中,有以下几个角色: 1、Builder:为创建一个产品对象的各个部件指定抽象接口。 2、ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个检索产品的接口。 3、Director:构造一个使用Builder接口的对象,原创 2021-05-11 16:34:32 · 64 阅读 · 0 评论 -
Java设计模式(二)之抽象工厂模式
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口: public interface Sender { public void Send(); } 两个实现类: public class MailSender原创 2021-05-10 16:04:23 · 122 阅读 · 0 评论 -
Java设计模式(七)之装饰者模式
装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下: public interface Sourceable { public void method(); } public class Source implements Sourceable { @Override public void method() {原创 2021-05-13 17:16:32 · 119 阅读 · 0 评论 -
Java设计模式(六)之适配器模式
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 // 已存在的、具有特殊功能、但不符合我们既有的标准接口的类 class Adaptee { public void specificRequest() { System.out.println("被适配类具有 特殊功能..."); } } // 目标接口,或称为标准接口 interface Target { public原创 2021-05-11 17:52:29 · 96 阅读 · 0 评论