问题标签 [contract]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 标准 Java 合约列表
我正在为我的一些朋友编写一个小型教程系列,向他们介绍 Java。他们是专业的程序员,而且是优秀的。基本上,我们的商店正在运行 Progress 4GL(我刚刚吐了一点),而且我们继承了一个非常糟糕的代码库。我们希望在不久的将来用 Java 服务替换其中一些编写不佳的模块。
Java 最看重的一件事是合约。是否有 Java 中最常见合约的编译列表?我希望像平等合同这样的东西在那里。
wcf - 具有不同来源或操作 URL 的操作合同
我们的第三方 API 提供两种不同的 Web 服务,但具有相同的方法、模型。然而,它们仅在 URI 上有所不同(Web 服务路径、操作路径 [操作合同]。
所以我决定:
使用 VS 从他们的 wsdl 生成代码。
编辑命名空间以使用相同的“通用”而不是使用服务引用,而是使用 Reference.cs 编辑的代码。
创建一个新代理来处理要使用的服务的正确 URI(将 Reference.cs 包装在其中)。
现在,我遇到了“Method1”的问题,因为它们有不同的操作名称。有以下例外:
“服务器无法识别 HTTP Header SOAPAction 的值:http: //www.api.com/service/Method1 ”
我只是注意到它正确的操作名称是: http: //www.api.com/service1/Method1
现在的问题是,是否有任何配置或行为可用于更正每个服务的每个方法的操作名称?
或者只要他们继续为 API 的每个实现添加合约,我也应该继续为每个实现添加合约,并为此使用 ChannelFactory?
请帮忙,谢谢。
.net - 合同要求与合同要求
我注意到微软在 .NET 4 中以一种奇怪的方式命名了他们的代码合同相关函数。
他们在“require”和“ensure”的末尾添加“s”,所以有Contract.Requires()和Contract.Ensures(),但没有在“assert”和“assume”的末尾,所以有Contract .Assert() 和 Contract.Assume()。这种差异让我有点困惑。
事实上,我真正的问题是,我正在尝试在 PHP 中使用代码合同,所以我写了一些东西来模仿 .NET 4 中的“合同”类。由于 PHP 没有内置方法来验证参数的类型,我在自己的 Contract 类中添加了一个方法来进行一些验证。我选择“expect”这个词,因为我认为“expect parameter 'bar' to be string but...”是参数类型错误时的常见消息。问题来了。我应该将我的方法命名为 Contract.Expect() 还是应该命名为 Contract.Expects()?
我来自一个非英语国家,很抱歉我的英语不好。可能它实际上是一个英语问题,但我认为只有程序员才能帮助我。很抱歉,如果这个问题在这里不合适。
wcf - 通过 WCF 验证自我跟踪实体 (EF)
在添加/更新实体时,我无法定义我OperationContract
应该是什么。我想ObjectContext
通过 WCF 服务发送一个实体(或实体列表)(这将为我实例化一个业务管理器以进行实际验证)。
如果实体通过了所有验证规则(这很可能需要查询数据库以确定更复杂的业务规则的通过/失败),它将被保存到数据库中,我需要能够传回它的 ID(身份列主键)和并发令牌的值(时间戳列),但如果它失败了,显然我们希望有一条或多条消息说明出了什么问题。在更新的情况下,我们需要的只是并发令牌的新值,但我们同样需要验证消息。
为了使它更棘手,一个实体也可以有多个子/孙实体。例如,行程将有止损,可能有订单。
我只是想知道人们如何在现实世界中处理这个问题。最简单的示例仅显示 WCF 服务的操作,例如:
有没有人有任何处理这个的好主意?我想我真的只是在这里寻找实用的建议。
我们是否应该尝试在一个服务调用中保存一组对象?
我们是否应该通过故障合约来传达验证消息?
任何建议/意见都会有所帮助,谢谢!
wcf - WCF 端点合同名称——如果它是通用的,如何分配它?
- IGenericService 驻留在名为:“ABC.Server.Common”(ABC.Server.Common.dll) 的程序集中
- MyType 驻留在名为:“ABC.Server.Modules.X”的程序集中 (ABC.Server.Modules.X.dll)
代码:
精简代码:
Web.config:
我不使用 SVC 文件,而是在 Web.config 中处理了这些信息:
我在合同名称中输入了什么才能使其真正起作用?
wcf - 如何在服务合同中传递复杂类型参数
这是一个已经存在的 XML 请求格式,我必须实现一个 Web 服务,该格式将接受下面这种格式的这个请求。
(方法或操作名称)(复杂类型 1)(复杂类型 2)(复杂类型 3)(某些原始数据类型 1)xyz(/某些原始数据类型)(某些原始数据类型 2)abc(/某些原始数据类型)(/复杂类型 3 ) (/complex type2) (/complex type1) (/方法或操作名称)
我以前从未编写过 Web 服务,并且从过去 2 天开始一直在阅读有关服务合同和数据合同的内容。
据我所知,创建服务合同
java - 为什么我的比较方法会抛出异常——比较方法违反了它的一般合同!
为什么这段代码
抛出这个异常: ERROR/AndroidRuntime(244): java.lang.IllegalArgumentException: Comparison method violates its general contract!
ERROR/AndroidRuntime(4446): at java.util.TimSort.mergeLo(TimSort.java:743)
sre.getSponsored() 方法返回一个布尔值。
谢谢。
wcf - 以编程方式调用 WCF REST 服务而不参考合同
这是有用的基础:
但是,我希望我的客户在不了解任何服务合同的情况下以 REST 风格做同样的事情。
看到这是如何在 Javascript / jQuery 中轻松完成的,C# 没有提供任何选项似乎很奇怪。
java - 有没有一种漂亮的方法来断言 Java 方法中的前置条件?
我的许多函数在声明下方都有大量验证代码:
我想精确指定某些输入的有效范围 - 例如 A > B、C => 1 或 str_d.length() > 0。
鉴于我的一些函数有很多必须验证的参数,我最终可以编写很多样板来验证前置条件。我正在编写一个主要供非技术开发人员使用的库,我们发现验证函数输入是帮助用户正确操作 API 的最佳方式。我们越早提出错误,客户要做的工作就越少。
有没有更优雅的方法来指定我的方法中的前置条件、后置条件(可能还有不变条件)。
一位同事告诉我 Eiffel 编程语言的一个特性,它允许以非常自然的方式描述前/后/不变条件,而无需重复大量样板代码。Java 语言是否有一个附加组件可以让我使用其中的一些魔法?
html - 在鼠标悬停时展开 DIV/在鼠标悬停时取消展开
但是当我修改它以供我在这里看到http://jsfiddle.net/6PDEA/4/时,最底部的div不会保持关闭状态。任何人都可以帮忙吗?
编辑:第一个答案修复了“加载时扩展”问题,但不是最底层的 DIV
编辑 2:最终工作代码:http: //jsfiddle.net/6PDEA/5/
修复了底部 DIV 问题。我刚刚在其下方添加了另一个 DIV,其空白图形大小为 785w x 30h。