zoukankan      html  css  js  c++  java
  • c#模板化生成接口

    最近打算做这样一个事情,一个桌面系统项目既可以一体化部署,作为一个软件一个进程部署,也可以把业务服务化部署。

    那一般意味着我们要完全写2套东西,一套是直接UI调用业务,一套是Ui调用RPC。这样比较多操作。

    现在打算将业务接口化,UI直接调用工厂返回接口,底层用autofac控制。

    另外一套直接模板化生成,将调用的接口模板化生成。

    根据配置,分别调用业务了类或者模板生成的类。

    这里简单说说模板生成类。

    将所有接口调用打包,封装成一个结构,里面包含调用的方法名称,接口名称,以及KV形式的参数。

    这样打包的结构再次传入客户端请求类中,请求类根据实际需求处理这个结构体,这样就不需要准备2套。而且开放迅速。

    你要做的就是修改这个客户端请求类。

    模板生成采用emit生成。当然也可以动态编译。开始采用codedom,后面才知道微软放弃了。

    这里就不贴代码了,把代码放在Git上面了。每个接口方法内部调用项目RequestProxy中SrvImplFactory类的方法。

    这只是个演示,模板支持方法,属性,事件。SrvImplFactory只是例子,需要自己修改完善。

    地址:https://github.com/jinyuttt/IFProvider.git

  • 相关阅读:
    每日一题
    每日一题
    每日一题
    每日一题
    GitLab 部署
    Golang Web开发之Gin入门
    Golang消息队列之NSQ
    Golang操作Redis
    Golang操作MySQL
    Golang Json数据处理方法
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/11924446.html
Copyright © 2011-2022 走看看