ServiceStack 项目实例 003 建议的文件结构定义及服务类说明
ServiceStack 项目实例 003 建议的文件结构定义及服务类说明
鼎六智能 发表于1年前
ServiceStack 项目实例 003 建议的文件结构定义及服务类说明
  • 发表于 1年前
  • 阅读 12
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

      在我们的SS项目中,建议的文件结构如下:

 

wKioL1SBRbyA2aI8AAG9asWSlg4505.jpg

 

   需要的最基本的文件包含三个文件,

   1 服务文件:其中包含有入口类、出口类定义和服务类的定义,入口类是HTTP 请求request时候使用的类,出口类是HTTP 相应中使用的类,服务类中会调用入口类和出口类,关于入口类出口类和服务类的说明见下文。

 

   2 实体类文件:定义数据库相关的实体类,在SS中,实体类既可用作入口类,也可作为出口类。

 

   3 数据访问类文件: 定义数据库操作的功能函数,这些功能函数会使用实体类文件中的类定义来映射数据库表,实体类文件中的类文件一般为DTO类,同时被服务文件和数据访问文件使用。

 

 

    服务类文件可以根据需要分解为多个,比如一个资讯管理系统包含有类别管理 文章管理 新闻管理 下载管理 专题管理 ,  就可以将这几个功能模块分别对应一个服务文件,

示例如下:

CategoryService.cs ArticleService.cs NewsService.cs DownloadService.cs SpecialService.cs

 

 

     入口类、出口类和实体类在对外服务中的用处。

 

     入口类是数据传入的接口类,出口类是数据输出的接口类,实体类既可以作为入口类也可以作为出口类。

     一般的应用情况是:

添加和修改数据时 入口类为实体类,封装传入的表单数据;
  出口类为简单类(POCO型),作为操作状态的返回信息,如是否操作成功
列表、显示一条信息时 入口类为简单类(POCO型),通常对于的是URL参数或这post的查询条件等
  出口类为实体类,用于传递数据到到页面,可附加虚拟字段,添加得到的记录条数、以及总计统计数值等
在删除操作中 入口类一般不用实体类,而是传入一个或一组ID来实现删除操作,也可以传入实体类来完成操作
  出口类通常为状态信息,如操作是否成功,也可无任何返回信息

  

 

   

PS : 项目比较复杂时 , 文件拆分的建议

 

wKioL1SBRfmhgi7MAAPGBbu6JiM133.jpg

标签: ServiceStack
共有 人打赏支持
粉丝 4
博文 49
码字总数 2780
×
鼎六智能
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: