2020-08-07

无废话设计模式(22)行为型模式

0-前言

  解释器模式定义(Interpreter):

    给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子;

1-实现

1-1、简单UML图

 

 1-2、代码实现

//1、信息包(Context) class Context{ public String message; //信息 public String getMessage() {  return message; } public void setMessage(String message) {  this.message = message; }}//2-解释器父类abstract class AbstractExpression{ public abstract void Interpret(Context context);}//2-1、解释器Aclass ExpressionA extends AbstractExpression{ @Override public void Interpret(Context context) {  System.out.println("原始信息:"+context.getMessage());  System.out.println("解释器A完成解释---------------"); }}//2-2、解释器Bclass ExpressionB extends AbstractExpression{ @Override public void Interpret(Context context) {  System.out.println("原始信息:"+context.getMessage());  System.out.println("解释器B完成解释--------------"); }}

 

客户端

  Context ct = new Context();  ct.setMessage("欢迎来到广东");  AbstractExpression ea = new ExpressionA();  ea.Interpret(ct);  AbstractExpression eb = new ExpressionB();  eb.Interpret(ct);

 

运行结果

 

 

2-应用场景简单总结

1、如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。

  这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。

无废话设计模式(22)行为型模式晋江市第二届跨境电商峰会海外仓联盟第二期线下交流会品牌生态印度短视频又一新人入局,小米的Zili会成为黑马吗?圣诞节过后,你该如何稳定亚马逊listing排名?德国VAT相关消息打假、声明!亚马逊德国站卖家注意!德庆盘龙峡怎么走?同时该注意什么事项呢?顺德长鹿农庄自驾游如何安排?泡温泉最好在什么时候?

No comments:

Post a Comment