language-agnostic - 你使用设计模式吗?

标签 language-agnostic design-patterns

设计模式在现实世界中的渗透程度如何?您是否在日常工作中使用它们 - 与同事讨论如何以及在何处应用它们 - 或者它们仍然更像是一个学术概念?

它们真的为您的工作提供实际值(value)吗?或者它们只是人们谈论的听起来很聪明的东西?

注意:出于此问题的目的,请忽略“简单”设计模式,例如单例。我正在谈论设计您的代码,以便您可以利用 Model View Controller 等。

最佳答案

任何编写良好的大型程序都会使用设计模式,即使它们没有被命名或识别。这就是设计模式,即重复且自然发生的设计。如果您正在与丑陋的 API 进行交互,您可能会发现自己实现了一个Facade 来清理它。如果您需要在需要解耦的组件之间进行消息传递,您可能会发现自己正在使用Observer。如果您有多种可互换的算法,您最终可能会使用策略

了解设计模式是值得的,因为您更有可能识别它们,然后更快地收敛到干净的解决方案。然而,即使您根本不了解它们,您最终也会创建它们(如果您是一名优秀的程序员)。

当然,如果您使用现代语言,您可能会被迫使用它们来做某些事情,因为它们已融入标准库中。

关于language-agnostic - 你使用设计模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11586/

相关文章:

JavaScript 面向对象问题

language-agnostic - Model View Controller

java - 使用 NULL 对象模式消除 NULL

Javascript:从函数实现单一导出点

java - Java 的数据库迁移模式?

algorithm - 使用未知颜色集合大小生成视觉上不同的颜色

unit-testing - 如何对带有参数的方法进行单元测试

c# - 观察者模式还是只是创建事件处理?

algorithm - 如何在保留总和的同时将 float 舍入为整数?

java - 将抽象类更改为抽象工厂模式。区别在哪里?