【问题】“Idiom”是什么意思?它和“Design Pattern”有什么关系和区别?
根据StackExchange的一个回答:
“Idiom”翻译过来就是“技巧”的意思,就是编程语言的基础上,建立一些额外的代码结构,或者约定一些额外“约束”,用以解决特定的问题。 例如“PImpl Idiom”、“Virtual Constructor Idiom”。
“idiom”和“Design Pattern”很像,他们都是基于额外的逻辑结构,解决特定的问题。 但是“Design Pattern”的适用范围更广,它是独立于编程语言的,例如单例模式,不管是C++、C#以及Java,都是存在的。 而“idiom”更偏语言内部的东西,适用范围较小。
【来源】StackExchange的提问:“Difference between Idiom and Design Pattern?”