这是我在amazon 的评论,看到第二章,我实在忍不住了,这种翻译水平竟然也可以出版! 我怀疑是用软件翻译的!
37页
在以下情形,会考虑使用原型模式
. 需要创建的对象应独立于其类型与创建方式 (神马意思?)
.要实例化的类是在运行时决定的 (大概明白意思,就不能用中文组织一下?)
.不想要与产品层次相对应的工厂层次. (这是什么意思,反复看了十遍不知道在说什么)
.不同类的实例间的差异仅是状态的若干组合.因此复制相应的数据的原型比手工实例化更加方便 (大哥你确认你的母语是中文?????)
https://www.amazon.c
美国亚马逊4星半
各位好好纠结Objc哪本翻译的如沐春风吧;Swift已是主流.
首先对于这本中文书,我跟一楼看法一致,翻译的很烂。
其次对二楼认为技术书籍只要翻译对了就够了的看法,我已不想吐槽了。
对于译者,我只想对你说,你做这件事的目的只是完成任务而已,你并不在意为什么要翻译这本书。
因为看不懂,所以需要把英文翻译成中文。
翻译成中文后,依然看不懂,你觉得这还有什么意义?
对于译者的解释,因为其他书这么翻译的,所以我也这么翻译了。
我只能说,你的目的不是为了让更多的人看懂这本书,真的只是为了完成任务而已。
你作为一个译者,在采用其他译本的翻译时,难道都看不出之前的翻译有多晦涩吗?
作为一个译者,你的目的不是一字不漏,顺心不变的把文字从一种语言转换到另外一种语言就够了,这个工作可以完全用电脑完成的。
最简单的一个现象,英文里经常习惯使用各种定语,修饰语去组成超长的句子,而中文恰好相反,一句一句的说,更让人容易理解。
比如一楼的第一个例子,你写成三句话,即使比原文还长,也会比现在更容易理解;
再比如第二个例子,二楼居然说翻译的准确无误(那我觉得二楼你不应该看中文,应该去看英文)明显没有人会用中文这么说话。
正常交流说话是,我今天中午吃饭了;而不是:我吃饭了在今天中午。(读过书,学过英文的人明显能感觉出来,前面是用中文说话,后面是翻译的英文)
当年买这本书后,我跟一楼一样,两章之后实在受不了了,放弃了。
译者有个习惯,在他翻译的书中自我介绍部分都会留下他的微博名,这就使我更容易的注意到,原来你不是第一次用这么——说好听点叫晦涩,说直白点叫烂——的翻译了。
我有幸购买了你翻译的两本iOS的书,第一本至少薄一些,勉强读完了,而这第二本。。
我当时的想法是先去找本通俗易懂的设计模式的书看完再来看你这本吧。
这周我又从书架上看到你这本我仍旧没看完的书,第三次拿起来,第三次没勇气看完。。
真心的恳请这位译者,你也不愁吃喝的,以后就别接这些翻译的活了吧。。
国内的中文技术书籍早已惨不忍睹了,你就不要再添乱了哈。。
我们来对照一下原文, 顺便探讨一下楼主的疑惑:
1. We need to create objects that should be independent of what they are and how they are created.
问题: 需要创建的对象应独立于其类型与创建方式 (神马意思?)
解答: 这里是objects, 也就是一组object; 和前文提到的用字模组在一起来作为一篇文章的prototype印刷就不难理解 - 也即不在意对象到底是什么以及如何创建而只想拿到这一组对象的一个复制品. 但翻译的也没什么错, 只是意思在背后而已.
2. Classes to be instantiated are determined at runtime.
问题: 要实例化的类是在运行时决定的 (大概明白意思,就不能用中文组织一下?)
解答: 翻译准确无误. 插拔一堆object在一起, 而后作为整体复制, 自然对应的类型是在运行时才知道的 - 这也是每个都需要一个clone方法来绕过显式创建方法一样.
3. We don’t want to have a hierarchy of factories for a corresponding hierarchy of products.
问题: 不想要与产品层次相对应的工厂层次. (这是什么意思,反复看了十遍不知道在说什么)
解答: 翻译准确无误. 这是说, 不用prototype的话, 对应对象的每种可能组合, 都要用一个工厂类层次来生成对应的产品组合 - 也即用工厂来创建第四条所说的状态组合.
4. The differences between instances of different classes are just a few combinations of state. Then it’s more convenient to clone a corresponding number of prototypes rather than instantiating them manually.
问题: 不同类的实例间的差异仅是状态的若干组合.因此复制相应的数据的原型比手工实例化更加方便 (大哥你确认你的母语是中文?????)
解答: 翻译的有点毛病. "复制相应的数据的原型" 应该是 "复制相应数量的原型". 这里是指对象插在一起有多少组合, 用clone方法来复制这种组合要来得方便.
原文也有第5条, 楼主没列, 也就不多说了.
-----------------------------
翻译的其实还是比较准确的. 只是可能和楼主的期望有差别. 这和看GoF design pattern的书比还好一点, 多多琢磨作者的用意, 以及pattern之间的区别与联系, 会有助于理解.
拙见, 仅供交流, 谢绝起哄.