作业七-四则运算与简单工厂模式初步结合
2017-06-07 18:15
232 查看
题目连接
学习简单工厂模式,思考能否将该模式运用到题目的第一点要求中。
按照作业要求,我将本来随机数放在表达式类中,现在从中分离出一个随机基类,两个派生类
与上一篇博客相结合,在基类中建立两个虚函数(应该一个也可以)一个用于转换成字符,一个用于生成随机数
之后创建一个工厂类,工厂类的内容与上篇博客内容一样,改成RandomFactroy类。
主要是在于git上传时又出现错误了
因为之前进行界面编辑的尝试,是写在本地库中,没有上传,到这次作业,进行上传,发现文件大小超过100M是无法上传的,。
尝试了好多方法,都出现了一些错误,一直改不出来,看完网上博客发现,自己已经进入一个麻烦的境地。
最后返回到之前作业五的git版本,再进行修改,上传。
对于git等等,一些遇到问题,先不要自己随便乱按之类的,出错了,很容易到达一种不可挽回的地步,所以应该去网上查查解决方法,按照网上操作,去完成。
大文件解决方案
题目描述
请将随机生成数字、表达式的部分设计成:一个Random基类,基类中有random()方法。并由该基类派生出RandomNumber类、RandomOperation类,继承并覆盖父类方法。学习简单工厂模式,思考能否将该模式运用到题目的第一点要求中。
作业要求
体会继承和多态的思想发表一篇博客,博客内容为:提供本次作业的github链接,题目描述的代码部分的解释、简单工厂模式的学习。
过程
通过简单工厂模式的学习与尝试,事先自己写个小程序在 简单工厂的初步尝试博客中有说明按照作业要求,我将本来随机数放在表达式类中,现在从中分离出一个随机基类,两个派生类
与上一篇博客相结合,在基类中建立两个虚函数(应该一个也可以)一个用于转换成字符,一个用于生成随机数
之后创建一个工厂类,工厂类的内容与上篇博客内容一样,改成RandomFactroy类。
github
修改的部分代码:
class Random { public: Random(){} ~Random(){} virtual char get_rand(int k) { return ' '; } virtual int create() { return -1; } }; class randomNumber :public Random { public: randomNumber(){} ~randomNumber(){} virtual int create(); virtual char get_rand(int k); }; class randomOperator : public Random { public: randomOperator(){} ~randomOperator(){} virtual int create(); virtual char get_rand(int k); }; /*以下为相应的一些函数内容*/ int randomNumber::create() { return rand() % 10; } int randomOperator::create() { return rand() % 4; } char randomOperator::get_rand(int k) { switch (k) { case 0:return '+'; case 1:return '-'; case 2:return '*'; case 3:return '/'; default:return ' '; } } char randomNumber::get_rand(int k) { return k + 48; }
生成表达式函数中的改变:
过程中的问题:
在相结合方面,没有遇到大问题,毕竟在上一篇博客有一些尝试主要是在于git上传时又出现错误了
因为之前进行界面编辑的尝试,是写在本地库中,没有上传,到这次作业,进行上传,发现文件大小超过100M是无法上传的,。
尝试了好多方法,都出现了一些错误,一直改不出来,看完网上博客发现,自己已经进入一个麻烦的境地。
最后返回到之前作业五的git版本,再进行修改,上传。
体会:
对于利用简单工厂模式,我认为降低了其耦合性,也会使得代码变得比较有条理。对于git等等,一些遇到问题,先不要自己随便乱按之类的,出错了,很容易到达一种不可挽回的地步,所以应该去网上查查解决方法,按照网上操作,去完成。
附上一些git的链接
官方文档大文件解决方案
相关文章推荐
- 结合项目实例 回顾传统设计模式(四)工厂模式(简单工厂、普通工厂、抽象工厂)
- 设计模式(2)结合代码和例子来理解简单工厂模式
- 简单工厂模式--加减乘除运算
- 简单工厂和策略模式结合
- 策略模式与简单工厂模式的结合使用
- 简单工厂模式--加减乘除运算
- 简单工厂模式--加减乘除运算
- 简单工厂与策略模式的结合
- 简单工厂模式--结合实例学习简单工厂模式
- 3.续策略模式 策略模式与简单工厂模式结合
- 简单工厂模式初步尝试
- 策略模式、简单工厂结合
- 设计模式(2)结合代码和例子来理解简单工厂模式
- 简单工厂模式--结合实例学习简单工厂模式
- 策略模式结合简单工厂模式
- 简单工厂设计模式实现商店买牙膏收费案例过渡到结合策略模式的理由全解
- 大话设计模式之策略模式(结合简单工厂),程序完善过程蕴含智慧
- 简单工厂模式和策略模式结合使用php
- 简单工厂模式--结合实例学习简单工厂模式
- 简单工厂模式和策略模式的区别与结合