Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 当涉及到web编程时,设计模式有多有用?_Design Patterns - Fatal编程技术网

Design patterns 当涉及到web编程时,设计模式有多有用?

Design patterns 当涉及到web编程时,设计模式有多有用?,design-patterns,Design Patterns,背景: 我的组织使用Microsoft.Net(3.5)和SQL Server 2005作为后端 RAD是标准,敏捷是广泛使用的过程。我总是发现使用设计模式很困难,因为它需要更多的理解和训练 你能给我一些设计模式解决Web编程中实时问题的例子吗?使用任何设计模式的标准是什么?从中获得了什么好处 我知道这是一个一般性的问题,但这对我有很大帮助 设计模式既是一种答案,也是一种交流想法的方式。理解这些好处的最佳方法之一就是简单地阅读一些基本模式,然后回顾您自己的代码、您制作的有用API和其他代码,您将

背景: 我的组织使用Microsoft.Net(3.5)和SQL Server 2005作为后端

RAD是标准,敏捷是广泛使用的过程。我总是发现使用设计模式很困难,因为它需要更多的理解和训练

你能给我一些设计模式解决Web编程中实时问题的例子吗?使用任何设计模式的标准是什么?从中获得了什么好处


我知道这是一个一般性的问题,但这对我有很大帮助

设计模式既是一种答案,也是一种交流想法的方式。理解这些好处的最佳方法之一就是简单地阅读一些基本模式,然后回顾您自己的代码、您制作的有用API和其他代码,您将发现这些模式的许多实例正在被应用。这仅仅是因为它们是对常见问题应用解决方案的提炼。

这里有一点不同的方法,可以帮助您完成任务。学习模式是一种查看优秀设计示例的方法,而不仅仅是寻找可以应用特定模式的地方。我相信理解为什么模式是好的设计是有效使用它们的关键。
首先,工厂方法、策略和状态是最容易学习的,并且可能是最常用的正确方法。一旦你掌握了这些模式的诀窍以及使这些模式成为优秀设计的原则,你就可以转向更复杂的模式,这些模式在你的web应用程序中可能更有用,例如模型视图控制器、抽象工厂等。

我看到了许多模式:

MVC/MVP——这经常出现在doing表单中,其中需要独立于UI处理业务逻辑,并且域对象是其中的第三部分

适配器-数据库连接可以使用这一部分,这样就不必知道数据库连接的类型,它可以正常工作

策略-是否有不同的方法在不同类型的设备上执行几乎相同的操作?我有,这是我用的一个简单的策略模式

Singleton-是否在ASP.Net中使用过应用程序对象?这是正在使用的单例模式的一个示例

工厂-这种情况与我前面提到的策略案例密切相关,因为工厂可能会生成所需的特定类型的对象,我记得6年前在经典ASP中看到过这一点


模式是解决特定类型问题的一种相当一般的方法,因此在理解何时使用这个或那个模式时有很多灰色阴影。

您能告诉我您使用了哪些模式吗?很多。很多人都不知道。如果你是这样一种程序员,他看着自己的代码,认为“有更好的方法可以做到这一点”,然后通过API寻找设计思想,那么你也会使用它们。关于基本模式的一个很好的概述就在这一页的底部:还有很多其他的模式,但大多数都是试图通过结合这些基本模式并称之为新模式来赚钱的人。谢谢Derek:-)…我特别喜欢最后一部分(哈哈)。我浏览了这个链接,尽管我没有使用它,但我已经使用了它的很多概念(装饰、工厂、策略和观察者)。很高兴从有经验的人那里得到诚实的意见:-)。这是一个非常有趣的观察,而且很有意义。谢谢:-)