Design patterns 没有上下文类/ Java的策略模式
示例
以下是在没有上下文类的情况下使用策略模式的简单示例。有两种实现策略可以实现接口并以不同的方式解决相同的问题。EnglishTranslation类的用户可以通过指定所需的策略来调用translation方法并选择他们要用于翻译的策略。
//策略界面
public interface TranslationStrategy {
String translate(String phrase);
}
//美国战略实施
public class AmericanTranslationStrategy implements TranslationStrategy {
@Override
public String translate(String phrase) {
return phrase + ", bro";
}
}
//澳大利亚战略实施
public class AustralianTranslationStrategy implements TranslationStrategy {
@Override
public String translate(String phrase) {
return phrase + ", mate";
}
}
//公开翻译方法的主类
public class EnglishTranslation {
//使用给定策略翻译短语
public static String translate(String phrase, TranslationStrategy strategy) {
return strategy.translate(phrase);
}
//用法示例
public static void main(String[] args) {
//使用AustralianTranslationStrategy类翻译短语
String aussieHello = translate("Hello", new AustralianTranslationStrategy());
//你好伙伴
//使用AmericanTranslationStrategy类翻译短语
String usaHello = translate("Hello", new AmericanTranslationStrategy());
//喂兄弟
}
}
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短