21xrx.com
2024-11-05 16:27:23 Tuesday
登录
文章检索 我的文章 写文章
Java设计模式课后答案分享 - 刘伟
2023-06-13 02:25:05 深夜i     --     --
Java设计模式 答案分享 单例模式 工厂模式 观察者模式

设计模式是编程中非常重要的概念,在Java中也有很多种设计模式可以使用。在学习Java设计模式的过程中,掌握答案是非常重要的,这篇文章将分享刘伟老师为大家提供的Java设计模式课后答案。

1. 单例模式

单例模式是一种设计模式,它将一个类的实例化限制为一个对象,保证在系统中只有一个该对象实例存在。在Java中,可以通过以下方式实现单例模式。


public class Singleton {

  private static Singleton instance;

  private Singleton(){};

  

  public static Singleton getInstance() {

    if (instance == null) {

      instance = new Singleton();

    }

    return instance;

  }

}

2. 工厂模式

工厂模式是一种创建型设计模式,它将对象的创建过程封装在一个工厂中,用户只需要通过工厂来创建对象,而无需了解对象的具体构造过程。在Java中,可以通过以下方式实现工厂模式。


public interface Shape {

  void draw();

}

public class Rectangle implements Shape {

  @Override

  public void draw() {

    System.out.println("Inside Rectangle::draw() method.");

  }

}

public class Circle implements Shape {

  @Override

  public void draw() {

    System.out.println("Inside Circle::draw() method.");

  }

}

public class ShapeFactory {

  public static Shape getShape(String shapeType) {

    if (shapeType.equalsIgnoreCase("CIRCLE")) {

      return new Circle();

    } else if (shapeType.equalsIgnoreCase("RECTANGLE")) {

      return new Rectangle();

    } else

      return null;

    

  }

}

3. 观察者模式

观察者模式是一种行为型设计模式,它定义了一种订阅-发布机制,当一个对象发生改变时,会通知所有订阅该对象的观察者,让观察者做出相应的反应。在Java中,可以通过以下方式实现观察者模式。


public interface Observer {

  void update();

}

public class ConcreteObserver implements Observer {

  private ConcreteSubject subject;

  @Override

  public void update() {

    System.out.println("UPDATE:" + subject.getState());

  }

}

public class ConcreteSubject {

  List observers;

  public void attach(Observer observer) {

    observers.add(observer);

  }

  public void detach(Observer observer) {

    observers.remove(observer);

  }

  public void notifyObservers() {

    for (Observer observer : observers) {

      observer.update();

    }

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复