gpt4 book ai didi

c++ - 现代 C++ 在多大程度上消除了对设计模式的需求?

转载 作者:IT老高 更新时间:2023-10-28 23:02:37 27 4
gpt4 key购买 nike

GoF 于 1994 年出版的设计模式书是用类似 C++ 的语言编写的记住,许多代码示例都是用 C++ 给出的。其他语言的程序员觉得他们的语言不需要这 23 种设计模式,因为这些语言有特性这使得许多模式变得多余。

来自维基百科:

A primary criticism of Design Patterns is that its patterns are simply workarounds for missing features in C++, replacing elegant abstract features with lengthy concrete patterns, essentially becoming a "human compiler" or "generating by hand the expansions of some macro". Peter Norvig demonstrates that 16 out of the 23 patterns in Design Patterns are simplified or eliminated (via direct language support) in Lisp or Dylan.

自《设计模式》一书出版以来,C++ 经历了五次修订(98、03、11、14、17)。那么问题来了,现代 C++ 在多大程度上简化或消除了对这 23 种设计模式的需求?

最好将设计模式与 C++ 语言特性一起列出来消除或简化对该模式的需求。

最佳答案

您说得对,现在不需要许多模式。然而,像适配器这样的一些架构模式是“语言不敏感的”,并广泛用于企业编程以解耦层。像访问者这样的一些模式比基于新语言特性的替代模式更具可读性和更好的控制性。所以我认为设计模式应该修改而不是丢弃。

关于c++ - 现代 C++ 在多大程度上消除了对设计模式的需求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51808990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com