2024-09-28 22:26:00 发布
网友
我应该完全熟悉哪些设计模式?每种方法都可以用来做什么呢?在
我是一名web开发人员(我使用Django,熟悉逻辑分离),但我在一家桌面应用公司工作。他们总是在谈论单身汉,我忘了…但这让我毫无头绪!在
忘了辛格尔顿吧。这很令人困惑,而且很少有必要。在
学习状态,策略和命令。他们一直在使用。在
状态是指任何具有依赖于对象状态的逻辑的东西。简而言之,通过状态可以更好地完成每个if语句。说真的。太多的if语句是一种代码气味,表明有状态处理到处都是。在
该策略适用于任何“插件”或“扩展”或“选项”处理。在
命令用于任何可扩展(和可组合)的操作集。备份,恢复。表拖放、创建、索引、填充。验证、加载、汇总、报告。任何可以以不同方式、不同顺序等组合在一起的类似命令的东西,都应该用正式的命令设计来完成。在
MVP或MVC
Model View Presenter或Model View Controller
更多的架构模式,但从来没有,他们是设计模式的组合。在
老实说,模式很重要,但知道何时使用它们同样重要。永远不会有固定的答案,这是你需要自己去感受的东西。有人认为这是一个绝对的,你应该一直使用或永远不使用他们是不正确的。设计模式是一种工具。我建议你看看亚马逊网站无论你用什么语言写的书都专门讨论设计模式。我知道有一个是为rubyonrails编写的,虽然我不记得它的名字,还有一个是为Java编写的Head-First设计模式,还有一个是由Bob和micahmartin编写的,非常棒。从你最熟悉的语言中选择一个阅读。即使您没有使用所有的模式,了解它们是如何工作的以及它们何时会有用也是很好的。在
忘了辛格尔顿吧。这很令人困惑,而且很少有必要。在
学习状态,策略和命令。他们一直在使用。在
状态是指任何具有依赖于对象状态的逻辑的东西。简而言之,通过状态可以更好地完成每个if语句。说真的。太多的if语句是一种代码气味,表明有状态处理到处都是。在
该策略适用于任何“插件”或“扩展”或“选项”处理。在
命令用于任何可扩展(和可组合)的操作集。备份,恢复。表拖放、创建、索引、填充。验证、加载、汇总、报告。任何可以以不同方式、不同顺序等组合在一起的类似命令的东西,都应该用正式的命令设计来完成。在
MVP或MVC
Model View Presenter或Model View Controller
更多的架构模式,但从来没有,他们是设计模式的组合。在
老实说,模式很重要,但知道何时使用它们同样重要。永远不会有固定的答案,这是你需要自己去感受的东西。有人认为这是一个绝对的,你应该一直使用或永远不使用他们是不正确的。设计模式是一种工具。我建议你看看亚马逊网站无论你用什么语言写的书都专门讨论设计模式。我知道有一个是为rubyonrails编写的,虽然我不记得它的名字,还有一个是为Java编写的Head-First设计模式,还有一个是由Bob和micahmartin编写的,非常棒。从你最熟悉的语言中选择一个阅读。即使您没有使用所有的模式,了解它们是如何工作的以及它们何时会有用也是很好的。在
相关问题 更多 >
编程相关推荐