Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 哪种设计模式最适合此场景_Java_Design Patterns - Fatal编程技术网

Java 哪种设计模式最适合此场景

Java 哪种设计模式最适合此场景,java,design-patterns,Java,Design Patterns,我有一个场景,在这个场景中,我有一个类(fallback.java),它有一些字符串变量(popup、缩略图、RealTime等等)。这些变量是通过网络调用初始化的。 我有3个来自3个不同类的对象,它们足以存储这些变量中的值。这些变量可以增加,并且有责任的对象已经就位,以纳入这些变量 变量。从变量中获取数据和设置对象是定期进行的 你能给我推荐适合这种情况的最佳设计模式吗 谢谢, sekhar.设计模式在设计系统时可以帮助您。从描述上看,您似乎已经有了一个设计:一个带有一些字符串变量的类,这些变量

我有一个场景,在这个场景中,我有一个类(fallback.java),它有一些字符串变量(popup、缩略图、RealTime等等)。这些变量是通过网络调用初始化的。 我有3个来自3个不同类的对象,它们足以存储这些变量中的值。这些变量可以增加,并且有责任的对象已经就位,以纳入这些变量 变量。从变量中获取数据和设置对象是定期进行的

你能给我推荐适合这种情况的最佳设计模式吗

谢谢,
sekhar.

设计模式在设计系统时可以帮助您。从描述上看,您似乎已经有了一个设计:一个带有一些字符串变量的类,这些变量通过网络调用等进行初始化。如果您想要应用模式,您必须后退一步,看看是否有任何模式可以帮助您满足系统要求;将设计改装成模式没有任何价值。

对我来说,这听起来像是一种策略模式(如果我理解正确的话)

编辑:

例如:

class Fallback {
   Strategy strategy;
   String value;

   void operate(){
        strategy.operate(this);
   }

   enum Strategy {
       popup {
           public void operate(Fallback f){ /* Do something */ }
       },

       thumbnail {
           public void operate(Fallback f){ /* Do something */ }
       },

       realtime {
           public void operate(Fallback f){ /* Do something */ }
       };

       public abstract void operate(Fallback f);

   }
}

也许你应该在询问之前写一些代码?之后,如果有疑问,请询问我们。这样你就能更好地理解自己的错误