日期:2014-05-18 浏览次数:20850 次
Console.WriteLine("Please enter an expression to evaluate: "); string text = Console.ReadLine(); Expression e = new Expression(text); Console.WriteLine(e.Evaluate());
Calculator.Run();
------解决方案--------------------
大话中的这个例子只是为了讲解一种设计模式,lz没有必要这么纠结。
模式的优势在规模,规模越大模式的优势会越明显。如果仅仅只是为了一次性的计算,肯定不需要使用模式了。
------解决方案--------------------
当你去学建筑时,你会不会随便找一个出租房,然后说“我反正会住进房里了,所以我不学如何盖房了”呢?
我觉得你这个问题是匪夷所思的。你因为找来一个第三方的类,于是就反对学习软件设计技术了?
不管《大话模式》如何地不好,如何地不实用,也不能用这种空洞式的典型短视的理由去批评它吧。你根本没有伤到《大话模式》半点毫毛,反而暴露出你对Expression内部的设计机制完全无知,因此你竟然会想当然地说 Expression 的设计知识比《大话》还要少?!
------解决方案--------------------
要注意比较方法。如果根本不能比的,你为什么会很在意地比较它们呢?
------解决方案--------------------
根据程序的大小功能模块化编码,高内聚,低耦合,就算是制造业也是这种模式,要是加减乘除分4个cpu,放电影的一块硬盘,放游戏的另一块硬盘,放代码的再加一块,一个机箱比房子还要大了,这是人类社会的倒退。
------解决方案--------------------
《大话》例子本来就是演示一下吧,你要是写个就你自己用,用完也不维护的小程序,那怎么写都行了。
另外不要纠结书中例子在实际中的作用,很多书中对异常的讲解都用除数不能为0的例子,那用一个if判断一下不是更简单吗?