文档章节

24种设计模式学习记录第一篇

没有脚的大笨鸟
 没有脚的大笨鸟
发布于 2014/03/30 09:13
字数 280
阅读 22
收藏 0

用c++写一个计算器程序,一般菜鸟的实现是这样的(我就是这样的菜鸟~)

#include<iostream>

using namespace std;

int main(void)
{
	int num1,num2;
	char op;
	cout << "please input num1" << endl;
	cin  >> num1;
	cout << "please input num2" << endl;
	cin  >> num2;
	cout << "please input the operator" << endl;
	cin >> op;

	switch(op)
	{
	case '+':
		cout << num1 + num2 << endl;;
		break;
	case '-':
		cout << num1 - num2 << endl;
		break;
	case '*':
		cout << num1 * num2 << endl;
	case '/':
		cout << num1 / num2 << endl;
		break;
	default:
		cout << "illegal operator" << endl;
	}

	return 0;
}

-------------------------------------------------------------------------------------------------------------------

所有的编程初级者都会有这样的问题,就是碰到问题就直觉的用计算机能理解的逻辑来描述和表达待解决的问题及具体的求解过程。这其实就是用计算机的方式去思考,比如这个计算器程序,先要求输入两个数和运算符,然后根据运算符判断选择如何运算,得到结果,这本身没错,但这样的思维却使得我们只为实现当前的需求,程序不容易维护和扩展,更不容易复用,从而达不到高质量代码的要求。

---------------------------------------------------------------------------------------------------

© 著作权归作者所有

共有 人打赏支持
没有脚的大笨鸟
粉丝 5
博文 11
码字总数 5230
作品 0
浦东
程序员
设计模式笔录(二),设计模式有哪些

本人出道5年,学习、编程、再学习、再编程一路走过,只是在笔和纸留下些脚印,实感惭愧。现开始把自己学习到的心得,实践中的体会,一一贴在互联网上,大家互相学习、探讨,寻找一些技术朋友...

方旭
2011/03/31
0
0
(目录)设计模式(可复用面向对象软件的基础)

本系列“设计模式”博客使用Golang语言实现算法。所谓算法是指解决一个问题的步骤,个人觉得不在于语言。小弟只是最近学习Golang,所以顺带熟练一下语法知识,别无它意。 本系列博客主要介绍...

chapin
2015/01/13
0
0
设计模式之禅(第2版).epub

【下载地址】 本书是设计模式领域公认的3本经典著作之一,“极具趣味,容易理解,但讲解又极为严谨和透彻”是本书的写作风格和方法的最大特点。第1版2010年出版,畅销至今,广受好评,是该领...

winter730
05/16
0
0
练就Java24章真经—你所不知道的工厂方法

前言 最近一直在Java方向奋斗《终于,我还是下决心学Java后台了》,今天抽空开始学习Java的设计模式了 。计划有时间就去学习,你这么有时间,还不来一起上车吗? 之所以要学习Java模式,是因...

codeGoogle
09/04
0
0
系统架构技能之设计模式-单件模式

一、开篇 其实我本来不是打算把系统架构中的一些设计模式单独抽出来讲解的,因为很多的好朋友也比较关注这方面的内容,所以我想通过我理解及平时项目中应用到的一 些常见的设计模式,拿出来给...

wbf961127
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ std::function 和 std::bind

C++11提供了std::function和std::bind两个工具,用于引用可调用对象。这些可调用对象包括 普通函数,Lambda表达式,类的静态成员函数,非静态成员函数以及仿函数等。引用可调用对象,可以用于...

yepanl
50分钟前
1
0
python:可迭代对象的索引

关于 python的range的用法: 注意是[ 开始,结束)的半开区间,不包括结束 http://www.runoob.com/python/python-func-range.html import collectionsfrom collections import Iterable字符串......

Oh_really
今天
2
0
docker-compose ,docker-stack

1.例子 version: "3"services: php: image: registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5 ports: - "38080:80" networks: - my_php_mysql volum......

chenbaojun
今天
3
0
SQL_Server2000示例数据库NorthWind的分析(转)

SQL_Server2000示例数据库NorthWind的分析 表名:Categories(食品类别表) 表结构: 字段名称 数据类型 长度 允许为空 CategoryID(主键) int 4 否 CategoryName nvarchar 15 否 Description ...

QQZZFT
今天
1
0
laravel 5.5 Session store not set on request.

laravel 5.5 数据存入session,会出现Session store not set on request.错误。查了下laravel 5.5将session放到global middleware中,需要laravel的文件 ./app/Http/Kernel.php中的加上一句:...

MichaelShu
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部