创建型模式

java的23种设计模式

1.工厂模式:

客户类和工厂类分开

消费者任何时候需要某种产品,只需向工厂请求即可。

消费者无须修改就可以接纳新产品。

缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。

就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建


2.建造模式:

将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。

建造模式使得产品内部表象可以独立的变化客户不必知道产品内部组成的细节

建造模式可以强制实行一种分步骤进行的建造过程

3.工厂方法(抽象工厂)模式:

核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,

仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节

该设计模式的意图是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

使用抽象工厂设计模式的常见情形是:

一个系统要独立于其产品的创建、组合和表示时;

一个系统要由多个产品系列中的一个来配置时;

当需要强调一系列相关的产品对象的设计以便进行联合使用时;

当提供一个产品类库,而只想显示它们的接口而不是实现时。

对于希望使用已经存在的类,但其接口不符合需求的情形,应当考虑桥接设计模式。


4. 原始模型模式:

通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。

原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构,

原始模型模式适用于任何的等级结构

缺点是每一个类都必须配备一个克隆方法。

5. 单例模式:

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

单例模式只应在有真正的“单一实例”的需求时才可使用

适用于当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时,以及当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Amarao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值