WCF 最佳设计原则
本文关键字:原则 最佳 WCF | 更新日期: 2023-09-27 18:34:02
我希望对现有的WCF服务进行一些更改。我想知道是否最好制作超级方法,例如 Save((,它将使用收到的值来决定要执行的操作,或者我是否应该将这些操作分解为自己的方法并公开这些操作供消费者决定何时调用它们。
例如,我有一个付款处理程序,当商家尝试付款及其结果时,它会收到商家的通知。对我来说,允许处理程序通过状态更改传入对象并让超级方法尝试弄清楚如何处理它(假设没有错误弄乱数据(或创建一个单独的方法来扩展以便明确定义意图,对我来说会更好。
请注意,super方法还负责保存数据并在此过程中的其他步骤中更改状态。
我已经用谷歌搜索过,但并没有真正找到任何具体的东西。对我来说,超级方法违反了SOLID,但我被告知WCF有一套不同的标准,最好是制作超级方法,这样消费者就不必思考了。
欢迎任何反馈:)
我发现最好是服务操作可以存在于具有业务意义的级别。
这意味着,如果业务人员被告知操作名称,他们将大致了解调用该操作将执行的操作,并且可以猜测需要向其传递哪些数据。
为此,您的操作应全部或部分完成某些业务流程。
例如,以下操作签名具有业务含义:
void SolicitQuote(int brokerId, int userId, DateTime quoteRequiredBy);
int BindPolicyDocument(byte[] document, SomeType documentMetadata);
Guid BeginOnboardEmployee(string employeeName, DateTime employeeDateOfBirth);
如果在考虑服务组合时使用此原则,那么好处是您很少会偏离最佳路径;您知道每个操作的作用,并且知道何时不再需要操作。
另一个好处是,由于业务流程很少更改,因此您无需更改太多服务合同。