繁体   English   中英

实现设计模式和Spring MVC

[英]Implementing Design pattern and Spring MVC

如何使用工厂设计模式的单例设计模式?如何在弹簧MVC中实现控制器与jsp之间的通信?

通过在工厂模式界面中实现的每个方法中应用单例模式,可以在工厂方法旁边使用单例

(单例内部方法(只有一个实例可以存在的类)/工厂植入是在服务的接口中,创建许多派生类(方法)的实例)

interface ImageReader {
DecodedImage getDecodeImage();
}

class DecodedImage {
private String image;
public DecodedImage(String image) {this.image = image;}
@Override
public String toString() {return image + ": is decoded";}
}

class GifReader implements ImageReader {
private DecodedImage decodedImage;
public GifReader(String image) {
    this.decodedImage = new DecodedImage(image);}

@Override
public DecodedImage getDecodeImage() {return decodedImage;}
}
//this is a method implementing singleton inside a factory pattern
public class Singleton implements ImageReader {
private Singleton() {}
private static class SingletonHolder {private static final Singleton INSTANCE = new 
Singleton();}
public static Singleton getInstance() {return SingletonHolder.INSTANCE;}
}


public class FactoryMethodDemo {
public static void main(String[] args) {
    DecodedImage decodedImage;
    ImageReader reader = null;
    String image = args[0];
    String format = image.substring(image.indexOf('.') + 1, (image.length()));
    if (format.equals("gif")) {
        reader = new GifReader(image);
    }
    if (format.equals("singleton")) {
        reader = new Singleton();
    }

    assert reader == decodedImage;
    decodedImage = reader.getDecodeImage();
    System.out.println(decodedImage);
}
}

这个网站还有更多的例子https://sourcemaking.com/design_patterns

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM