-
关于项目分层中的对外服务层问题?高手回答一下,谢谢25
我们项目采用 ibatis+spring +springMVC
也是MVC架构。主要分为dao 层 service层 controller层
但是项目现在要与其它系统进行交互。主要是webservice方式,我们提供服务
我现在想问一下,这个对外的服务端层放在那里。是和service层平级吗?
还有就是对外的服务层是调用service还是dao。因为一些功能service已经实现,对外服务层可以直接调用就可以。还有一些service没有的。需要调用dao自己写业务。这个对外服务层如何定义?有经验的麻烦回答一些,谢谢!
2012年8月17日 14:14
4个答案 按时间排序 按投票排序
-
采纳的答案
考虑后期维护,建议在service平级建立一个package专门提供接口服务。
接口服务是公布给外系统的,如果该服务在service已经存在,那么只需要调用service,如果不存在,建议在service中填充,然后提供给接口调用。
这样的结构比较清晰,接口服务仅仅是把需要发布的service发布出去。
当然也有直接放在service里面的,而且也有直接通过annotation发布接口的.不过后面维护起来就麻烦。
以上建议仅供参考。根据各自情况,折中选择吧。2012年8月17日 14:44
-
亲,你的这个需求不正是wrapper嘛~
别个才不管你service,还是dao,给我提供webservice wrapper就行~
1.建立一个基于webservice 接口的service.(调用已有的service接口,实现未实现的service接口,也就是为webservice量身定制它的接口)
2.创建webService wrapper对外发布服务。2012年8月17日 16:23
-
建议单独建立一个包,维护对外接口。
我们现在的项目也用webservice对外提供接口调用,目前的做法就是另外建包,维护webservice,理由如下:
1.你所谓的service ,dao都是对自己系统而言,如果把webservice放在这2层,显然不太合适哈。
2.另外建包,结构清晰,webservice调用你的service ,dao等信息,这样结构也比较清晰。
你可以把你的webservice理解成action2012年8月17日 15:30
-
我觉得,看你们自己的需求了。废话,哈哈。
引用我们提供服务
你们提供什么服务?
- 如果只是提供数据库的增删改查的话。当然是DAO。
- 如果是提供带有逻辑的service,那当然是service了。
当然,可能现实是比较模糊,或没有那么明确。要么没人说得清,要么两者都有可能。
无论如何,我建议这个web service单独放个包/子项目好些。
最低的设计方针是
- web service的api固定。
- 具体实现内部根据实际情况调整,直接用DAO,或调用类似的service。
2012年8月17日 15:11
相关推荐
springboot项目分层改造 | cili-common | 公共模块 | cili-repository | 数据存储层 | cili-infrastructure | 基础服务层,包含redis,mq等外部基础服务或中间件服务 | cili-service | 业务服务层 | cili-web | ...
在实际项目中,除了这三个主要层次,还可能包含其他辅助层,如服务层(Service Layer)和领域模型层(Domain Model Layer),这些可以根据项目的复杂性和需求进行添加。服务层通常作为BLL和外部系统之间的接口,提供...
本项目“asp.net分层小项目”是一个典型的使用ASP.NET技术实现的分层架构的图书馆管理系统,旨在展示如何在实际开发中进行结构化和模块化的编程,提高代码的可读性和可维护性。 项目的核心是分层架构,这种设计模式...
在软件开发领域,分层架构是一种常见的设计模式,它有助于保持代码的清晰组织,提高可维护性和可扩展性。...在实际项目中,根据需求和团队规模,还可以考虑添加其他层次,如服务层、缓存层等,以优化系统性能和架构。
在"bubble-master_gin+gorm学习项目_已分层.rar"这个压缩包中,我们可以深入学习如何将 Gin 与 Gorm 结合,构建一个分层结构的 Web 应用程序。 1. **Gin 框架基础** - Gin 提供了一个简洁的 API,使得开发者可以...
这是博文 【c++多模块web项目实践方案【cmake+cppcms+boost+fmt】】附带的项目源代码...笔者主要提出了自己对于c++项目如何分层,如何做一个简单的网站的见解。具体文章地址在:http://www.52play.net/blog/post?id=73
在IT行业中,分层架构是一种常见的软件设计模式,它将复杂的应用程序分解为多个相互独立、职责明确的层次。在DotNet开发环境中,分层架构是实现可维护性、可扩展性和可重用性的关键策略。本文将深入探讨DotNet分层...
关于教科书中提到的“层次”,例如二层设备处理MAC层信息,三层设备处理IP层信息,这并不意味着高层数字协议不会经过低层设备。实际上,网络包在传输过程中会通过所有层次,每一层设备都在处理相对应的协议头。例如...
4. 传输层:TCP和UDP协议在此层工作,TCP提供可靠的数据传输,UDP则提供快速但不可靠的服务。 5. 会话层、表示层和应用层:这些高层协议负责建立和管理会话、数据格式转换、用户交互等任务。 第三部分:具体问题...
在IT行业中,SpringBoot和MyBatis是两个非常流行的开源框架,它们被广泛应用于构建高效、简洁的...在项目实践中,要遵循良好的编码规范,保持代码的整洁性和可读性,同时不断优化和调整架构,以适应项目需求的变化。
在这一过程中,IP层和MAC层分别处理网络层和数据链路层的任务,如路由选择和帧的发送。 - **路由与IP地址**:IP层的IP协议包含源和目标地址,用于确定数据包的传输路径。路由器根据IP地址进行数据包的转发。 - **...
在实际项目中,选择C/S还是B/S架构,或是采用几层架构,通常取决于项目需求、团队技能、性能要求以及未来扩展性等因素。理解这些架构模式及其优缺点,有助于做出更适合项目的决策。 总结起来,C/S和B/S架构分别代表...
JavaWeb 开发中,程序的划分是基于“高内聚低耦合”的思想,主要体现在三层架构和五层架构中。下面将详细介绍这两种架构的结构、特点和优缺点。 三层架构 三层架构是从整个业务应用角度对程序的划分,包括表现层、...
【项目分层教学模式在C语言程序设计课程教学中的应用】 C语言作为一门融合底层机器语言和高级语言特性的编程语言,广泛应用于系统开发和软件工程。然而,由于其复杂性和抽象性,初学者往往面临较大的学习挑战。为了...
### 单片机程序设计中的“分层思想” #### 一、引言 单片机是一种集成微处理器、存储器及各种输入/...对于单片机开发者来说,掌握分层思想是非常有益的,它不仅能帮助解决实际项目中的问题,还能提升个人的技术水平。
"单井混合抽水试验分层计算含水层渗透系数测试研究" 单井混合抽水试验分层计算含水层渗透系数测试研究是指通过施普德混合抽水试验的基本计算原则,在既无观测孔、也无法分层止水的情况下,对新疆焉耆盆地南部山前5...
简介引言服务层不直接执行任何任务。它所做的就是合理的安排一些列你提供的业务对象。服务层很清楚业务逻辑层,也很清楚领域模型。例如:你使用数据库表模型模式的业务逻辑层,服务层会通过DataSet来进行交互。很...
在WF-asp.net实训项目中,你可能需要结合这些知识来开发一个能够动态添加水印到图片的Web应用程序,通过接口定义服务,使用反射动态调用服务,同时利用分层架构来组织代码,提高代码的可读性和可维护性。