JAVA23种设计模式

Python019

JAVA23种设计模式,第1张

一、大约分为三类:

1、创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。

2、结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。

3、行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

二、设计模式遵循的原则有6个:

1、开闭原则(OpenClosePrinciple)

对扩展开放,对修改关闭。

2、里氏代换原则(LiskovSubstitutionPrinciple)

只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

3、依赖倒转原则(DependenceInversionPrinciple)

这个是开闭原则的基础,对接口编程,依赖于抽象而不依赖于具体。

4、接口隔离原则(InterfaceSegregationPrinciple)

使用多个隔离的借口来降低耦合度。

5、迪米特法则(最少知道原则)(DemeterPrinciple)

一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

6、合成复用原则(CompositeReusePrinciple)

原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。

正常情况下一个设计模式描述了一个被证实可行的方案。

这些方案非常普遍,是具有完整定义的最常用的模式。

IT培训http://www.kmbdqn.cn/认为一般模式有4个基本要素:模式名称(patternname)、问题(problem)、解决方案(solution)、效果(consequences)。

常见的Java设计模式有以下10种:1、桥梁模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。

2、合成模式(Composite):将对象组合成树形结构以表示"部分-整体"的层次结构。

它使得客户对单个对象和复合对象的使用具有一致性。

3、抽象工厂模式(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

4、装饰模式(Decorator):动态地给一个对象添加一些额外的职责。

就扩展功能而言,它能生成子类的方式更为灵活。

5、适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。

适配器模式使得原本由于接口或类不兼容而不能一起工作的类可以一起工作。

6、责任链模式(ChainofResponsibility):为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。

将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。

7、工厂方法(FactoryMethod):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。

FactoryMethod使一个类的实例化延迟到其子类。

8、建造模式(Builder):将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。

9、门面模式(Facade):为子系统中的一组接口提供一个一致的界面,门面模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

10、命令模式(Command):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化对请求排队或记录请求日志,以及支持可取消的操作。

您好:

java中的设计模式有23种,具体如下:

创建型

抽象工厂模式、工厂方法、建造者模式、原型模式、单态模式

结构型

适配器模式、桥接模式、组合模式、外观模式、装饰者模式、享元模式、代理模式、

行为型

责任链模式、命令模式、解释器模式、迭代模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式

常见的有七种,具体如下:单例模式、工厂模式、建造(Builder)模式、观察者模式、适配器(Adapter)模式、代理模式、装饰模式

举个例子:

通过调用getInstance()方法来创建实例。

其他不一一举例,仅供参考!希望对你有帮助