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
.NETRIA服务是否在表示和应用程序/业务逻辑之间引入了耦合?_.net_Design Patterns_Wcf Ria Services - Fatal编程技术网

.NETRIA服务是否在表示和应用程序/业务逻辑之间引入了耦合?

.NETRIA服务是否在表示和应用程序/业务逻辑之间引入了耦合?,.net,design-patterns,wcf-ria-services,.net,Design Patterns,Wcf Ria Services,我不熟悉.NETRIA服务,但我认为,它的本质是针对微软通常关心的RAD。但是,这不是在表示和应用程序/业务逻辑之间引入了更多的耦合吗?这项新技术如何帮助越来越多对OOAD最佳实践和概念(如SOLID、GRASP和设计模式)感兴趣的开发人员?还是有办法实现这两个目标 我怀疑这类技术的作者是否试图增加对设计原则本身的兴趣。我们所能期望的最好结果是,这样的框架可能会导致符合最佳实践的开发 您关于表示和业务逻辑之间耦合的问题,以及RIA是否会倾向于增加它的问题是很有趣的 我们确实需要非常仔细地定义耦合

我不熟悉.NETRIA服务,但我认为,它的本质是针对微软通常关心的RAD。但是,这不是在表示和应用程序/业务逻辑之间引入了更多的耦合吗?这项新技术如何帮助越来越多对OOAD最佳实践和概念(如SOLID、GRASP和设计模式)感兴趣的开发人员?还是有办法实现这两个目标

我怀疑这类技术的作者是否试图增加对设计原则本身的兴趣。我们所能期望的最好结果是,这样的框架可能会导致符合最佳实践的开发

您关于表示和业务逻辑之间耦合的问题,以及RIA是否会倾向于增加它的问题是很有趣的

我们确实需要非常仔细地定义耦合。如果业务逻辑发生变化,表示逻辑的哪些细节必须改变?表示形式的更改需要业务逻辑的更改

在某种程度上,如果业务的语义发生变化,任何表示层(RIA与否)都必须改变。因此,某些类型的耦合是不可避免的。然而,设计良好的业务逻辑往往会支持许多不同的表示,但我怀疑,复杂的RIA应用程序往往会对业务逻辑提出更高的要求


因此,我猜测.NETRIA将做它需要做的事情,以提供我们希望看到的最终用户体验。我不相信它会强制进行不必要的耦合。您是否有一些您认为会导致过度耦合的例子?

在过去几天里,我一直在思考类似的想法……我不完全确定这是否会让开发人员保留去耦合方法……不过,证明或反驳这一点的例子将非常棒

这与开发人员在业务层和表示层之间共享的内容有很大关系。RIA服务确实可以让您轻松地在表示层访问实体框架类,这显然会导致耦合


对于有耦合问题的开发人员(应该是所有人),定义业务层和表示层之间的通信模型也很容易。RIA服务的服务器端(我将考虑业务层的一部分,因为它只是一个Web服务)知道如何从业务对象构建模型。Silverlight只需要知道如何使用模型并展示它。在我看来,这不像是联姻。

非常有趣的答案。好的,我需要思考RIA服务可能强制执行的不必要的耦合到底是什么。我没有一个例子。我在阅读时得到的印象是,即使是CRUD操作,我也可以让UI直接访问我的业务逻辑!我会努力提高我的理解力。但是你附和了我的担忧,他们可能不会像考虑易用性那样考虑最佳实践。谢谢和问候。