课程作业七

git链接

简单工厂模式

  • 简单工厂模式的定义: 根据传入的参数即可返回需要的对象,而不需要知道具体的类名;

  • 简要说明:简单工厂把一类需求的不同实现集合起来,这样通过传入不同的需求就可以实现不同的效果。

  • 举个例子:以俄罗斯方块的变形来说,每个不同的俄罗斯方块都有不同的变形效果,将这些不同变形的实现整合在一起,那么只需传入一个变形命令就可以执行相应的变形。

优缺点

  • 优点 外部只需要知道怎么使用,不需要了解具体的实现过程,简单易用。

  • 缺点:虽然外部调用方便,可正是由于其高度内聚,所以首先不利于拓展,其次一旦发生逻辑错误将很难修改。

   #include<iostream>
   #include<string>
   #include <stdlib.h> 
   #include <ctime>
   using namespace std;
   
   
   class random
   {
   public:
   	virtual char getrandom()=0 ;
   
   };
   
   class rnum :public random//随机数字
   {
   
   public:virtual char getrandom()
   	{
   		int n;
   		n = rand() % 10;
   		return n + '0';
   	}
   };
   
   class rope :public random//随机运算符
   {
   
   public:virtual char getrandom()
   	{
   		int n;
   		n = rand() % 4;
   		switch (n)
   		{
   		case 0:return '+';
   		case 1:return '-';
   		case 2:return '*';
   		case 3:return '/';
   		}
   	}
   };

   class randomfactory
   {
   
   	
   public:char randomsign(int n)
   	{
   		char sign;
   		random *r=NULL;
   		if(n%2==0)
   		{
   			r=new rnum;
   			sign=r->getrandom();
   		}
   		else
   		{
   			r=new rope;
   			sign=r->getrandom();
   		}
   		return sign;
   	
   	}
   	
   
   };

posted @ 2017-06-09 21:22  daydreams  阅读(94)  评论(0编辑  收藏  举报