行为型模式之解释器模式

原创 2018年04月15日 11:08:28
#include<iostream>
using namespace std;

class Context
{
public:
	Context(int num)
	{
		m_num = num;
	}

	void setNum(int num)
	{
		m_num = num;
	}

	void setRes(int res)
	{
		m_res = res;
	}

	int getNum()
	{
		return m_num;
	}

	int getRes()
	{
		return m_res;
	}

private:
	int m_num;
	int m_res;
};

class Expression
{
public:
	virtual void interpreter(Context *context) = 0;
};

class Plus :public Expression
{
public:
	virtual void interpreter(Context *context)
	{
		int num = context->getNum();
		num++;
		context->setRes(num);
	}
};

class Minus :public Expression
{
public:
	virtual void interpreter(Context *context)
	{
		int num = context->getNum();
		num--;
		context->setRes(num);
	}
};



void main()
{
	Context *context = NULL;
	Expression *expression = NULL;

	context = new Context(20);

	expression = new Plus;
	expression->interpreter(context);
	cout << context->getRes() << endl;

	delete expression;

	expression = new Minus;
	expression->interpreter(context);
	cout << context->getRes() << endl;
}

设计模式(行为型)之解释器模式(Interpreter Pattern)

访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。访问者模式使得用户可以在不修改现有系...
  • yanbober
  • yanbober
  • 2015-05-06 17:11:05
  • 3752

(行为型模式) Interpreter 解释器模式

  • 2009年12月05日 19:36
  • 9.5MB
  • 下载

C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式 (Level 300)

  • 2008年09月16日 14:40
  • 7.92MB
  • 下载

解释器模式

  • 2012年09月29日 23:48
  • 168KB
  • 下载

行为型模式——解释器模式

概述 解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析...
  • qq_36982160
  • qq_36982160
  • 2018-03-25 21:16:08
  • 9

行为型模式: 解释器模式

经过很多大神的总结,目前Java中一共23种经典的设计模式! 按照目的,设计模式可以分为以下三种用途: 1.创建型模式:用来处理对象的创建过程 2.结构型模式:用来处理类或者对象的组合 ...
  • gengxiaoming7
  • gengxiaoming7
  • 2017-05-05 07:59:16
  • 157

行为型模式--解释器模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述解释器(Interpreter)模式的:   解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器...
  • scyatcs
  • scyatcs
  • 2014-10-24 16:50:24
  • 370

解释器模式的一个应用

需求做产品的时候,有一个需求:对于一个字符串要在提交之前做校验,但是校验标准需要可配置。最合理的方案就是使用正则表达式+表达式组合。基础数据结构配置的数据结构如下package com.example...
  • pouloghost
  • pouloghost
  • 2015-11-04 20:47:39
  • 1512

设计模式之行为型模式

  • 2015年11月24日 20:22
  • 8.6MB
  • 下载

行为型模式-Interpreter ( 解释器模式 )

摘自《Java设计模式(疯狂JAVA联盟版)》 解释器模式  概述 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的...
  • GSH_Android_Bar
  • GSH_Android_Bar
  • 2015-05-09 15:05:03
  • 382
收藏助手
不良信息举报
您举报文章:行为型模式之解释器模式
举报原因:
原因补充:

(最多只允许输入30个字)