繁体   English   中英

如何减少用于RPC调用的类数?

[英]How can I reduce the number of classes used for RPC calls?

我目前正在研究一个使用自定义服务器协议的API的项目,该API的功能类似于RPC。 但是,为了适应PRISM体系结构,支持这些功能的类的数量和样板的数量正在迅速膨胀。 请注意,我继承了此代码库,而我现在没有足够的时间进行过多的重写。

基本上,问题在于,当存储库调用服务代理时,我们必须通过JSON将参数传递给服务器,这意味着我们需要RequestParameters对象进行序列化。 然后,我们收到的响应并不总是相同的,因此大多数调用也具有唯一的ResponseParameters。 最后,还有一个事件结构,其中一个事件是从服务器返回的,但由文本字段来区分,这意味着我们必须编写一个事件路由器,将每个事件路由到其特定部分,然后再从那里路由它,并为每个事件创建一个唯一的事件类。

以这种方式,如果我要进行一个将结果作为事件返回的调用,则需要创建两个方法,三个类,并将事件条目添加到适当的事件路由器中,而这些类中的大多数都是耗时的样板。

如何更改此结构以解决类膨胀和改进路由概念?

一些有助于进行大修的技术:

  1. 将样板抽象为使用泛型的基类
  2. 代码生成(通过VS中内置的T4或PostSharp之类的第三方工具)
  3. 在某些范围内,将事物定义为“动态的”,而不是为其创建类(您的事件代码/路由器似乎很适合这样做)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM