课程作业七
简单工厂模式
- 
简单工厂模式的定义: 根据传入的参数即可返回需要的对象,而不需要知道具体的类名;
 - 
简要说明:简单工厂把一类需求的不同实现集合起来,这样通过传入不同的需求就可以实现不同的效果。
 - 
举个例子:以俄罗斯方块的变形来说,每个不同的俄罗斯方块都有不同的变形效果,将这些不同变形的实现整合在一起,那么只需传入一个变形命令就可以执行相应的变形。
 
优缺点
- 
优点 外部只需要知道怎么使用,不需要了解具体的实现过程,简单易用。
 - 
缺点:虽然外部调用方便,可正是由于其高度内聚,所以首先不利于拓展,其次一旦发生逻辑错误将很难修改。
 
   #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;
   	
   	}
   	
   
   };

                    
                
                
            
        
浙公网安备 33010602011771号