设计模式

设计模式

1.单例模式

2.工厂模式

3.适配器模式

4.观察者模式

1.单例模式

某些情况下,对象只要一个就够了。即每个类只需要一个实例。

简单来说单例模式可以保证整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(也可以不存在)

单例模式确保某一个类只有一个实例,而且自行实例化。并向整个系统提供这个实例单例模式。

使用单例模式,需要注意的是。单例模式用来保证系统中一个类只有一个实例。单例类的构造函数必须为私有,同时单例类必须提供一个全局访问点。

public class Test {
    private Test() { }
    private static Test uniqueInstance = new Test();
    public static Test getInstance(){
       return uniqueInstance;
    }
}

使用这种方法实现单例模式,在类被加载时就会实例化这一个对象。

2.工厂模式

工厂模式专门负责实例化有大量公共接口的类。工厂模式可以动态的决定将哪一个类实例化,而不必事先知道每次要实例化哪一个类。客户端和工厂类是分开的。消费者无论什么时候需要某种产品,需要做的只是向工厂提出请求即可。消费者无需修改就可以接纳新产品。当然也存在小缺陷。当产品修改时,工厂类也要修改。

工厂模式包含以下几种形态:

a:简单工厂模式。简单工厂模式的工厂类是根据提供给他的参数,返回的是几个可能的产品中的一个类的实例。通常情况下,他返回的类都有普一个公共的父类和公共的方法。

b:工厂方法模式。工厂方法模式是类的创建模式,其用意是定义一个用于创建对象的工厂的接口,而将实际创建工作推迟到工厂接口的子类中。

c:抽象工厂模式。抽象工厂模式是所有形态的工厂模式中最具有一般性,也是最抽象的形态。抽象工厂模式指当有多个抽象角色时使用的一种模式,抽象工厂模式可以向客户端提供一个接口。使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。

3.适配器模式

适配器模式也称变压器模式,他是把一个类的接口转换成客户端所期望的另一种接口。从而使原本因接口不匹配而无法一起工作的两个类能一起工作。适配类可以根据所传递的参数返回一个合适的实例给客户端。

适配器模式主要应用于“想复用一些现存的类,但是接口又与复用环境要求不一致”的情况。在遗留代码复用,类库迁移等方面很有用。

4.观察者模式

观察者模式也叫(发布/订阅)模式,提供了避免组件之间紧密耦合的一种方法。他将观察者和被观察的对象分离开来。在该模式中,一个对象通过添加一个方法(该方法允许另一个对象,即观察者注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察着使用该信息执行的而操作与可观察的对象无关,结果是对象可以相互对话。这些观察者使用该信息执行的而操作与可观察的对象无关,接受过是对象可以对话,而不必了解原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值