首页 技术 正文
技术 2022年11月18日
0 收藏 418 点赞 5,104 浏览 517 个字

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,033
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,520
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,368
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,148
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,781
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,862