21xrx.com
2024-11-05 20:31:54 Tuesday
登录
文章检索 我的文章 写文章
Java设计模式课程总结:代码案例及关键词
2023-06-12 13:07:59 深夜i     --     --
单例模式 全局访问点 实例化

在学习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开发技能。

  
  

评论区

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