• 简单工厂模式又称静态工厂模式。从命名上就可以看出这个模式很简单:定义一个用于创建对象的接口。

    简单工厂模式由工厂类角色、抽象产品角色和具体产品角色组成。

    工厂类角色是本模式的核心,含有一定的商业逻辑和判断逻辑,它往往由一个具体类实现。

    抽象产品角色一般是具体产品继承的父类或者实现的接口,由接口或者抽象类来实现。

    具体产品角色由一个具体类实现

  • Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。

  • 抽象工厂模式和工厂方法模式的区别就在于需要创建对象的复杂程度上。而且抽象工厂模式是这三种模式中最为抽象、最具一般性的。

    使用抽象工厂模式需要满足以下条件:系统中有多个产品族,而系统一次只可能消费其中一族产品;同属于同一个产品族的产品。

    抽象工厂模式的组成部分与工厂方法模式的组成部分相同。

  • 目标类是Adapter的父类,Adapter需要继承目标类,以具备目标类提供的功能。

    Adapter是适配器模式中的适配者,它本身并不实现任何功能,但是能提供功能,即它能将其他类的功能据为己有。

    Adapter是适配器模式中的被适配者,Adapter需要实现Adapter的接口,以提供Adapter提供的功能。在Adapter的构造方法中,传入一个具体的Adapter对象,在实现Adapter接口定义的方法中,调用Adapter对象的相应方法。

  • 单例模式有两种实现方式:一种是将类的构造方法私有化,用一个私有的类变量instance保存类的实例,在加载类时,创建类的实例,并将实例赋给instance;再提供一个公有的静态方法getInstance,用于获取类的惟一实例,该方法直接返回instance。另一种是将类的构造方法私有化,用一个私有的类变量instance保存类的实例,在加载类时,将null赋给instance;再提供一个公有的静态方法getInstance,用于获取类的惟一实例,该方法首先判断instance是否为null,如果为null,则创建实例对象,否则,直接返回instance。

        两种方式的区别在于:前者被加载时,类的惟一实例被创建;后者在第一个调用getInstance()方法时,类的惟一实例被创建,但需要在getInstance()方法的声明中使用synchronized关键字,保证某一时刻只有一个线程调用此方法。

  • 工厂方法模式去掉了简单工厂模式中工厂方法的静态属性,使得它可以被子类继承。这样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类来分担。

    工厂方法模式由抽象工厂角色、具体工厂角色、抽象产品角色和具体产品角色组成。

    抽象工厂角色是工厂方法模式的核心,它与应用程序无关,是具体工厂角色必须实现的接口或者必须继承的父类,它由抽象类或者接口来实现。

    具体工厂角色含有与具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象。抽象产品角色是具体产品继承的父类或者是实现的接口,一般由抽象类或者接口来实现。

    具体产品角色由具体的类来实现。

资料加载中...
已关注 , 取消