我今晚参加了一个.NET用户组会议,其中一部分围绕模型 - 视图 - 视图模型模式展开,让我想知道这是否符合模式。
我遇到的问题是M-V-VM非常特定于技术。如果您不使用WPF及其绑定机制,我看不出您如何使用该模式。
相比之下,大多数“经典”模式在很大程度上与技术无关。他们做出的最大假设是使用的语言是面向对象的,通常支持继承。除此之外,经典模式主要是关于陈述一般设计问题,并提出解决它的方法 - 但可能有多种实现或变化。
我的问题是,你在哪里画线,在什么是设计模式和什么是如何使用非常具体的框架的建议之间?如果您知道如何实现它以及您需要使用哪种语言和技术,它仍然是一种模式吗?

有帮助吗?

解决方案

“接近”所需的基本概念是否可行?在不违反任何专利,知识产权或淫秽工作量的情况下,在另一个平台上重新实施工作?如果是这样,我会说我们绝对可以称之为你所处理的设计模式 - 只是一个不容易做广泛然而的新模式。 (尽管即使是特定于平台的方法仍然可以用于可以使用它们的较小社区的设计模式。)

还要记住,MVVM只是演示模型模式的具体实现 由Martin Fowler提出,这肯定是”经典“的。正如你所说,与平台无关。

“阳光下没什么新东西”正如他们所说,只是不同的安排相同的想法。原则一直在不断完善,很少发明新的原则。

其他提示

在某些其他事物的海洋中,模式不是一个孤岛。它不是黑色和白色,是某种图案与否;所有模式都可以在一个比例上进行布局,并且在泛型和特定于域之间,在进程和代码之间以及您恰好选择的任何其他两个球门柱之间存在各种灰色阴影。

如果它的配方值得在略微不同情况下共享或重用,那就是它的模式。

是的,设计模式通常依赖于所使用的编程语言和技术:例如,处理显式资源所有权的DP在垃圾收集语言中发挥很大作用,一个解决编译时键入限制的问题与动态错误相关语言,等等 - 这是正常的,非常好,基本上是不可避免的。

“推荐”与“设计模式”不同。不是通过技术背景,而是通过广度和特别深度:适当的DP识别两种或更多种类似方法的独立开发用途,更深入地研究什么常见的“力”。他们正在以一种美丽但重量级的元格式处理并从那里开始。相比之下,推荐不那么正式,深刻和广泛!

DP永远不会发明,它们通过思考处理类似情况的现有代码(两个或多个独立开发的事件)而被发现,将共性识别为“力"驱动解决方案等等“DP”。是一个如此流行,引人注目的术语,它使用FAR比应该更广泛使用-0-回到消息来源并阅读或重读亚历山大的永恒的建筑方式和他的其他作品,如果你迷失在DP的流行语中,他们会帮助你再次找到路径!

  

如果您不使用WPF及其绑定   机制,我不知道你怎么可能   使用那种模式。

Silverlight和Moonlight也支持MVVM。

“语言基于范例”,每种范例都有不同的方法来解决问题。设计模式恰好是常见的解决方案,无论它是否与语言相关都无关紧要。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top