长沙分类信息网-长沙新闻网

跟大家谈谈ServiceStack的设计理念

2021-3-2 7:35:55发布14次查看
这一期长沙达内培训机构老师跟大家谈谈servicestack的设计理念:提到构建webservice服务,大家肯定首先个想到的是使用wcf,因为简单快捷嘛。
这个servicestack.redis其实就是servicestack的一个组件,专门用来跟redis进行交互的。
一 关于webservice
在谈论servicestack之前,先看看构成一个webservice的基本框架:
服务层就是定义webservice接口的地方,这一层也是客户端使用webservice需要与之交互的一层。
业务层通常包含有大量的业务逻辑。他也是实现接口层定义的接口的地方,也是保持服务层的轻量以及关注服务端客户端的契约以及通讯的地方。
数据层通常就是封装数据访问方法并给业务层提供抽象数据模型。
现在我们来看service这一层。一些webservice使用远程过程调用的方法来实现(rpc),比如会定义如下函数调用:
public interfaceiservice
{
   string dosomething(int input);
}
这种rpc的方式使得服务不能很好的应对变化。比如,在上面的代码中,如果后续版本的接口需要接受两个参数来执行dosomething方法,或者说除了返回一个string外还需要返回其他信息。如果在原接口上修改的话,就会使得老版本的客户端无法使用。当然,我们可以创建一个平行的dosomething_v2来接受两个参数。但是随着时间的迁移,我们的接口中会充斥着越来越多这样的定义,不管是新用户还是老用户都会感到困惑。
面对这种情况,可以使用数据传输对象(dto) 来定义前面的接口中的相关参数。上面的rpc方式转换为对应的dto模型
每个服务接受一个dto请求参数,返回一个dto响应。在请求和相应的dto对象中添加字段,不会破坏旧的客户端。
在wcf中rpc和dto风格的webservice均支持,但是在servicestack中仅支持dto风格。servicestack为了减少繁琐和注重接口设计从而仅拥抱的dto风格的远程 webservice接口。 这是了解 servicestack的关键,也是servicestack框架的设计原则。
以上就是长沙达内培训机构web老师要给大家讲的servicestack的设计理念,之后还会更大家分享servicestack的设计理念知识,不要错过噢!
编辑短信:姓名+电话+想要学习课程  发送至:18487146383,发送短信即可获得1000元免费7天试听机会哦!
联系人:李老师
电话(微信):18487146383
网站:http://cs.web.tedu.cn

昆明达内职业培训学校
18087159764

该用户其它信息

推荐信息

长沙分类信息网-长沙新闻网
关于本站