首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计模式通常是好的还是坏的?

设计模式通常是好的还是坏的?
EN

Software Engineering用户
提问于 2010-10-04 01:57:30
回答 11查看 6.1K关注 0票数 33

我听说它认为设计模式是自切片面包以来最好的东西。我还听说,设计模式往往会加剧“第二个系统综合症”,它们被大量过度使用,并使用户认为自己是比实际更好的设计师。

我倾向于更接近前一个阵营,但最近我看到了这样的设计:几乎每一个交互都被观察者关系所取代,而且一切都是单一的。

那么,考虑到设计模式的好处和问题,设计模式通常是好的还是坏的,为什么呢?

EN

回答 11

Software Engineering用户

发布于 2010-10-04 05:32:13

设计模式是一种语言,而不是编写程序或契约的建议。它们的主要用途是事后解释组件或系统是如何实现的(或将要实现)。不需要过多地讨论细节,只需说几个单词就可以很好地描述实现,让侦听器了解它是如何工作的,以及其中的重要部分。

亚历克斯:嘿,配置文件是如何创建的?鲍勃:它们是由位于config.h中的一个工厂生成的。

现在Alex知道创建配置文件需要做一些重要的准备工作,否则它们的创建不会被封装在工厂中。

但是,如果Bob是一个以模式为中心的骗子,并且到处都使用模式,那么Alex就不能告诉任何有关配置创建的信息,因为Bob在任何地方都使用工厂。这也会导致程序过于复杂。

所以,先编程,然后在代码中发现模式,而不是相反。这就是他们被有效利用的方式。

票数 55
EN

Software Engineering用户

发布于 2010-10-04 02:18:41

设计模式很棒。如果使用得当,它们会使代码更易于维护、更易于阅读和使用。作为一个好的程序员的一部分是知道什么时候停止,并看到任何进一步的重构将超过利益。仅仅使用设计模式并不能使人成为一个优秀的程序员,但是知道何时何地使用它们。就像这个世界上的其他东西一样,设计模式可能会被极端化和滥用。我知道我仍然在寻找(并且将在很长一段时间内)在我的代码中寻找完美的平衡,在这里,每一个设计模式都有一个目的,并且恰到好处,就像一块拼图拼图一样。

票数 14
EN

Software Engineering用户

发布于 2010-10-04 07:57:56

如果使用得当的话,设计模式是很棒的。

记住,设计模式的思想起源于架构,这是很有用的。建筑可能有很大的不同。然而,在任何建筑中都有许多核心思想。通过这种方式,将模式视为设计的构建块。需要注意的是,并非每一栋建筑都包含所有可能的架构模式。

说你在设计房子。与其把前门打开到街道上,你还想在进入房子之前有一个隐蔽的地方,也就是前厅。这一地区将符合某种模式。也就是说,它将有两个入口,一些墙壁和可能有一个屋顶。请注意,该模式没有指定门、窗或多少墙。在大多数实现中,都会有两扇门,四面墙,也许还有窗户。然而,这个图案描述了一个有两个入口的封闭区域。一个从房子外面进入前厅,另一个通向房子的其他部分。这里的关键是,如果你想要一个前厅,你必须包围一个区域,并提供两个入口进入该区域。

在编程中,设计模式的典型问题是过度使用,并且相信它们是解决任何问题的灵丹妙药。他们不是。它们是交流和思考有用的编程思想的方法。如果某一特定语言的语法部分是实例化的,模式描述了为满足某种需求而安排它们的有用方法。

票数 10
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/9219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档