`
sky_dream
  • 浏览: 6302 次
  • 性别: Icon_minigender_1
  • 来自:
最近访客 更多访客>>
社区版块
存档分类
最新评论

Service 设计的探讨

阅读更多

     今天将service层的设计发送给大家,希望大虾们,多拍两下,service层还是基于抽象、泛型,以减少代码的冗余量.关于是否将DAO的顶级接口和Service的顶级接口合并,我认为单独存在,有利于层次的清晰.

 

service层接口:IBaseService.java

package com.frame.ssh.service.base;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *  Service 层基接口,处理业务逻辑.这里只提供基本的操作增、删、查、改的方法.
 *  
 *  
 * @author zjc
 * @version 1.0
 * @since 1.0
 */
public interface IBaseService<T,ID extends Serializable> {
	
		/**
		 * 添加实体类
		 * 
		 * @param entity:需要添加的实体类
		 * @return 无返回值
		 * */
	 Serializable  saveEntity(final T entity);
	
	 	/**
		 * 修改实体类
		 * 
		 * @param entity:修改持久化的对象
		 * @return 实现序列化的对象
		 * */
	 Serializable  updateEntity(final T entity);
	 
	 	/**
		 * 修改实体类
		 * 
		 * @param entity:修改持久化的对象
		 * @return 实现序列化的对象
		 * */
	 void  deleteEntity(final T entity);
	 
	 	/**
		 * 修改实体类
		 * 
		 * @param entity:修改持久化的对象
		 * @return 实现序列化的对象
		 * */
	 T   getEntity(final Class<T> clazz,final ID id);
	 
	 	/**
		 * 修改实体类
		 * 
		 * @param entity:修改持久化的对象
		 * @return 实现序列化的对象
		 * */
	 List<T>   findEntity(final Map<ID,T> conditionMap);
}

   service 业务操作:

package com.frame.ssh.service.base;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.frame.ssh.dao.base.IBaseDao;


   /**
    * 抽象service类,service层重复的业务操作调用,可以减少代码的重复调用。
    * 
    * @author zjc
    * @version 1.0
    * @since 1.0
    */
public abstract class AdstractBaseService<T,ID extends Serializable,GeneralDAO extends IBaseDao<T, ID>> implements IBaseService<T, ID> {
	
	private GeneralDAO   baseDao;
	
	public void deleteEntity(T entity) {
		baseDao.deleteEntity(entity);
	}

	@Override
	public List<T> findEntity(Map<ID, T> conditionMap) {
		return baseDao.findEntity(conditionMap);
	}

	@Override
	public T getEntity(Class<T> clazz, ID id) {
		return baseDao.getEntity(clazz, id);
	}

	@Override
	public Serializable saveEntity(T entity) {
		return baseDao.saveEntity(entity);
	}

	@Override
	public Serializable updateEntity(T entity) {
		return baseDao.updateEntity(entity);
	}
	
	
	

}

 

student接口:

package com.frame.ssh.service;

import java.io.Serializable;

import com.frame.ssh.service.base.IBaseService;

	/**
	 * Student业务操作接口
	 * 
	 * @author zjc
	 * @version 1.0
	 * @since 1.0
	 */
public interface IStudentService<T,ID extends Serializable> extends IBaseService<T, ID>{

}

 

 

 

student实现类:

package com.frame.ssh.service.implement;

import com.frame.ssh.bean.Student;
import com.frame.ssh.dao.implement.StudentDao;
import com.frame.ssh.service.IStudentService;
import com.frame.ssh.service.base.AdstractBaseService;

public class StudentService extends AdstractBaseService<Student, Integer,StudentDao> implements IStudentService<Student, Integer> {

	
	
}

 

 

分享到:
评论

相关推荐

    实战Delphi6.Kylix2.SOAP.Web Service程序设计篇李维著

    - **Chap12**:可能探讨了更高级的Web Service话题,如安全性、事务处理和性能优化。 - **Chap09**:可能涵盖了Delphi6和Kylix2中的SOAP客户端开发。 - **Chap10**:可能详细介绍了如何创建和部署SOAP服务器端...

    微服务架构Service_Mesh的设计与应用_陶志1

    本文的主要目的是探讨微服务架构Service Mesh的设计与应用,分析微服务架构中存在的一些问题,并对这些问题提出基于Service Mesh的Istio框架这种比较好的解决方案。同时,本文还将对Service Mesh的架构思想进行深入...

    delphi 6/Kylik2 soap/Web Service程序设计篇下册+代码,非常好的教程。

    这个教程"delphi 6/Kylik2 soap/Web Service程序设计篇下册+代码"将深入探讨如何使用这些工具来构建和消费Web Service。 1. **SOAP组件和协议**: Delphi 6的Soap Toolkit提供了对SOAP的支持,包括TSoapServer和...

    利用Web Service设计IP.doc

    本文将深入探讨如何利用Web Service设计一个IP地址信息查询程序,并通过实际案例进行说明。 #### Web Service概述 Web Service是一种遵循特定标准(如XML、SOAP、WSDL等)构建的网络服务,它允许不同平台上的应用...

    王家林的Android软硬整合设计与框架揭秘: HAL&Framework; &Native; Service &App;&Browser;架构设计与实战开发

    本课程由资深IT专家王家林主讲,旨在深度解析Android软硬整合的技术核心,涵盖HAL、Framework、Native Service、App及Browser的架构设计,并结合实战开发经验,帮助学员全面理解和掌握Android开发的各个环节。...

    activity service 数据交互

    本篇文章将深入探讨Activity与Service之间的数据交互,并通过具体的BroadcastService实例来阐述相关知识点。 首先,理解Activity与Service的通信方式至关重要。主要有以下几种: 1. **Intent**: 这是最常见的通信...

    android service 之一 (start service)

    本篇文章将深入探讨Android中的Start Service,这是一种启动Service的方式,它关注的是任务的启动而不是用户界面的反馈。 首先,理解Service的基本概念至关重要。Service并非在单独的线程中运行,而是与应用程序的...

    Android之Service实现比较大小

    本篇文章将深入探讨Android中的Service,分析不同类型的Service及其特性,并对比它们之间的差异。 首先,我们要了解Service的两种主要类型:`START_STICKY`和`START_NOT_STICKY`。这两种启动模式对Service的行为...

    android service组件与记事本

    让我们深入探讨一下Android Service组件以及如何与记事本应用集成。 首先,Android的Service组件主要分为两种类型:标准Service和IntentService。在这个描述中,可能是使用了标准Service,因为IntentService会自动...

    Delphi/Kylix SOAP/WEB SERVICE程序设计配书代码

    本篇文章将深入探讨这两个工具如何与SOAP和Web服务结合,并介绍相关程序设计的核心知识点。 首先,Delphi是由Embarcadero Technologies开发的一种集成开发环境(IDE),它主要用于Windows平台上的对象 Pascal编程。...

    Android不死Service

    本文将深入探讨如何创建一个能够自动恢复的Service,以确保其在被终止后的最短时间内重新启动。 首先,理解Service的生命周期至关重要。Service有四种主要状态:STARTED、BINDED、STOPPED和DESTROYED。当Service...

    基于WEB SERVICE的数据库同步系统的设计与实现—计算机毕业设计.pdf

    本论文主要探讨了基于WEB SERVICE的数据库同步系统的设计与实现。该系统可以实现异构数据库之间的一致性同步,确保数据的一致性和安全性。本系统可以在Internet上实时同步异构数据库,实现了数据的可靠传输和安全...

    service小结

    本篇文章将深入探讨Service组件,特别是关于多进程守护的实现方式。 首先,我们来理解Service的基本概念。Service不同于Activity,它没有用户界面,但可以在后台运行,执行如音乐播放、网络通信等任务。Service的...

    安卓Service学习小程序

    "安卓Service学习小程序"是一个专为开发者设计的示例项目,旨在帮助理解如何在Android应用中有效地使用Service组件。这个项目涵盖了Service的两种启动方式,这将是我们深入探讨的关键知识点。 1. **显式启动Service...

    ITIL v3 Service Design

    9. 信息技术服务管理(ITSM)工具:探讨如何利用ITSM工具来支持服务设计过程,包括服务资产和配置管理、变更管理和发布管理。 10. 案例研究和最佳实践:ITIL Service Design提供了各种实际案例,分析在现实世界中...

    Android app更新,实现service下载-IT计算机-毕业设计.zip

    本项目是一个针对学生毕业设计的学习资源,提供了一个基于Android的app更新示例,让我们一起深入探讨其中的关键知识点。 1. **Android Service**: - Service是Android四大组件之一,用于在后台执行长时间运行的...

    报表项目Reporting Service

    综上所述,"报表项目Reporting Service"涉及的核心知识点是利用Reporting Service创建、管理数据源和数据集,设计并部署报表,以及如何通过DEMO来实践这些操作。在"ReportTest"这个实例中,我们可以深入学习并掌握...

    安卓service学习

    本教程“安卓service学习”将深入探讨如何在Android应用中有效地利用Service组件。 一、Service基本概念 Service是Android四大组件(Activity、Service、BroadcastReceiver、ContentProvider)之一,其设计目的主要...

    【Android】开机自启动Service

    本文将深入探讨如何在Android中实现开机自启动Service。 首先,我们要明白Android系统的权限管理机制。由于安全原因,从Android 8.0(API级别26)开始,系统对应用的自启动行为进行了限制,不允许应用在没有用户...

Global site tag (gtag.js) - Google Analytics