文档章节

ServiceStack 项目实例 003 建议的文件结构定义及服务类说明

AA海纳百川
 AA海纳百川
发布于 2016/10/02 11:50
字数 615
阅读 35
收藏 1

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

      在我们的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

本文转载自:http://soaop.blog.51cto.com/6164600/1586454

AA海纳百川
粉丝 6
博文 53
码字总数 4829
作品 0
南宁
程序员
私信 提问
加载中

评论(0)

ServiceStack 简单使用

提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛。首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Building Cro...

麦田守望者LEO
2018/07/23
0
0
使用ServiceStack构建Web服务

提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛。首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Building Cro...

yangecnu
2014/09/09
0
0
ServiceStack.Redis 请求次数6000次异常

原文:ServiceStack.Redis 请求次数6000次异常 Redis是一个非常NB的内存级的数据库,我们可以把很多”热数据“(即读写非常多的数据)放入其中来操作,这样就减少了和关系型数据库(如SqlServ...

osc_iz97ycwh
2018/04/09
2
0
浅谈WebService的版本兼容性设计

在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform、WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所有这些客户端的需求,实现...

yangecnu
2014/11/03
0
0
Redis---StackExchange 学习笔记

周末,花了一天多时间,学习了 内存数据库redis。虽然网上有很多教程,但是,由于该项目,需要用到的dll 很多,导致初学者不能正常编译运行。 redis C# 开源架构有 ServiceStack StackExchan...

Andrewniu
2019/06/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go Gin 简明教程

https://geektutu.com/post/quick-go-gin.html

Java搬砖工程师
25分钟前
13
0
中台建设-中台概述

一,什么是中台 ①,中台是能力的共享和沉淀, ②,中台是为前台服务的,有了中台,可快速构建前台应用. 二,为什么建设中台 ①,能力共享和沉淀,避免烟囱似建设 ②,快速搭建前台. 3,怎么建设中台...

Original123
27分钟前
15
0
如何更改远程Git存储库的URI(URL)? - How to change the URI (URL) for a remote Git repository?

问题: I have a repo (origin) on a USB key that I cloned on my hard drive (local). 我在硬盘驱动器(本地)上克隆的USB密钥上有一个回购(来源)。 I moved "origin" to a NAS and succ......

技术盛宴
40分钟前
26
0
连接热点的电脑能注册到开热点电脑的注册中心,但是网关不能路由到服务实例

类似问题描述 1.连接热点的电脑能注册到开热点电脑的注册中心,但是网关不能路由到服务实例。2.微服务注册到到Eureka注册中心的ip不正确,导致网关路由不到具体为服务实例。3.Eureka注册...

LoSingSang
44分钟前
14
0
利用flask部署keras模型报错

利用flask部署keras模型时报错: Tensor("dense_2/Softmax:0", shape=(?, 26), dtype=float32) is not an element of this graph. 解决方法 import tensorflow as tfgraph = tf.get_default......

hc321
53分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部