概述
java的23种设计模式
1.工厂模式:
客户类和工厂类分开。
消费者任何时候需要某种产品,只需向工厂请求即可。
消费者无须修改就可以接纳新产品。
缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。
就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建
2.建造模式:
将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。
建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。
建造模式可以强制实行一种分步骤进行的建造过程。
3.工厂方法(抽象工厂)模式:
核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,
仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。
该设计模式的意图是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
使用抽象工厂设计模式的常见情形是:
一个系统要独立于其产品的创建、组合和表示时;
一个系统要由多个产品系列中的一个来配置时;
当需要强调一系列相关的产品对象的设计以便进行联合使用时;
当提供一个产品类库,而只想显示它们的接口而不是实现时。
对于希望使用已经存在的类,但其接口不符合需求的情形,应当考虑桥接设计模式。
4. 原始模型模式:
通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。
原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构,
原始模型模式适用于任何的等级结构。
缺点是每一个类都必须配备一个克隆方法。
5. 单例模式:
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式,提供一个访问这个唯一实例的全局访问点。
单例模式只应在有真正的“单一实例”的需求时才可使用。
适用于当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时,以及当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
最后
以上就是烂漫羽毛为你收集整理的创建型模式的全部内容,希望文章能够帮你解决创建型模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复