日期:2014-05-18  浏览次数:20850 次

做计算器的话, the interface below is much better
做计算器的话, the interface below is much better

C# code


Console.WriteLine("Please enter an expression to evaluate: ");
string text = Console.ReadLine();
Expression e = new Expression(text);
Console.WriteLine(e.Evaluate());




是不是 比<大话设计模式> 层层叠叠抽抽象象的裹脚布似的过渡设计滥用模式 简单扼要

http://blog.csdn.net/adcxf/article/details/2798445


------解决方案--------------------
大话的代码基本是标准格式的,只是行文之间有些废话太多,大鸟小鸟吹牛逼的话太占篇幅了
------解决方案--------------------
这个不知道,看到,进来学习一下
------解决方案--------------------
确实,但是你没发现这个更简单吗

C# code


Calculator.Run();

------解决方案--------------------
大话中的这个例子只是为了讲解一种设计模式,lz没有必要这么纠结。

模式的优势在规模,规模越大模式的优势会越明显。如果仅仅只是为了一次性的计算,肯定不需要使用模式了。
------解决方案--------------------
当你去学建筑时,你会不会随便找一个出租房,然后说“我反正会住进房里了,所以我不学如何盖房了”呢?

我觉得你这个问题是匪夷所思的。你因为找来一个第三方的类,于是就反对学习软件设计技术了?

不管《大话模式》如何地不好,如何地不实用,也不能用这种空洞式的典型短视的理由去批评它吧。你根本没有伤到《大话模式》半点毫毛,反而暴露出你对Expression内部的设计机制完全无知,因此你竟然会想当然地说 Expression 的设计知识比《大话》还要少?!
------解决方案--------------------
要注意比较方法。如果根本不能比的,你为什么会很在意地比较它们呢?
------解决方案--------------------
根据程序的大小功能模块化编码,高内聚,低耦合,就算是制造业也是这种模式,要是加减乘除分4个cpu,放电影的一块硬盘,放游戏的另一块硬盘,放代码的再加一块,一个机箱比房子还要大了,这是人类社会的倒退。
------解决方案--------------------
《大话》例子本来就是演示一下吧,你要是写个就你自己用,用完也不维护的小程序,那怎么写都行了。
另外不要纠结书中例子在实际中的作用,很多书中对异常的讲解都用除数不能为0的例子,那用一个if判断一下不是更简单吗?