21xrx.com
2025-04-21 15:59:18 Monday
文章检索 我的文章 写文章
Java设计模式课程总结:代码案例及关键词
2023-06-12 13:07:59 深夜i     14     0
单例模式 全局访问点 实例化

在学习Java开发中,设计模式是非常重要的一部分。设计模式可以让我们更好地设计和开发软件,提高软件质量和可重用性。在Java设计模式课程中,我们学习了许多设计模式和实际案例,下面来总结一下。

1. 单例模式

单例模式是最常用的设计模式之一。它可以确保一个类只被实例化一次,并且提供全局访问点。以下是单例模式的示例代码:

public class Singleton {
  private static Singleton instance = null;
 
  private Singleton()
   //执行实例化
 
 
  public static Singleton getInstance(){
   if(instance == null){
     instance = new Singleton();
   }
   return instance;
  }
}

2. 工厂模式

工厂模式是一种创建类的模式,通过一个工厂类来创建其他类的实例。以下是工厂模式的示例代码:

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 Shape getShape(String shapeType){
   if(shapeType == null)
     return null;
       
   if(shapeType.equalsIgnoreCase("CIRCLE")){
     return new Circle();
   } else if(shapeType.equalsIgnoreCase("RECTANGLE")){
     return new Rectangle();
   }
   return null;
  }
}

关键词:工厂模式,创建类,工厂类

3. 观察者模式

观察者模式是一种在对象之间定义一对多依赖关系的模式。当一个对象状态改变时,所有依赖它的对象都会受到通知并自动更新。以下是观察者模式的示例代码:

public interface Observer {
  public void update();
}
public class Subject {
  private ArrayList
  observers = new ArrayList 
  
   ();
  
 
  private int state;
  public int getState()
   return state;
 
  public void setState(int state) {
   this.state = state;
   notifyAllObservers();
  }
  public void attach(Observer observer){
   observers.add(observer);    
  }
  public void notifyAllObservers(){
   for (Observer observer : observers) {
     observer.update();
   }
  }  
}
public class BinaryObserver extends Observer{
  public BinaryObserver(Subject subject){
   this.subject = subject;
   this.subject.attach(this);
  }
  @Override
  public void update() {
   System.out.println( "Binary String: "
   + Integer.toBinaryString( subject.getState() ) );
  }
}
public class OctalObserver extends Observer{
  public OctalObserver(Subject subject){
   this.subject = subject;
   this.subject.attach(this);
  }
  @Override
  public void update() {
   System.out.println( "Octal String: "
   + Integer.toOctalString( subject.getState() ) );
  }
}
public class HexaObserver extends Observer{
  public HexaObserver(Subject subject){
   this.subject = subject;
   this.subject.attach(this);
  }
  @Override
  public void update() {
   System.out.println( "Hex String: "
   + Integer.toHexString( subject.getState() ).toUpperCase() );
  }
}

关键词:观察者模式,依赖关系,通知机制

以上是Java设计模式课程的部分内容总结。通过学习实际案例和代码示例,我们可以更好地理解和应用设计模式,提高自己的Java开发技能。

  
  

评论区