`

系统分层设计

    博客分类:
  • java
阅读更多

分层开发遵守的原则:

 

在action中调用多个service好,还是调用一个集成的service好呢?

 

解决方案:

应该是尽量调用一个service,设计业务逻辑组件时你应该对外提供一个完整的服务,比如要注册一个用户,外对应该只提供一个方法,

那么验证你注册用户是否存在的逻辑应该在这个服务中去判断,而不应该你在action中先去调用判断用户是否存在的服务,不存在再去调用注册的服务。

另一种情况就是要看你的事务从哪里开启,一般从业务逻辑层开启事务是最合理的,所以你的action如果要调用多个service,很难保证在一个事务中。

 

设计总结

1、上层依赖于下层,依赖关系不跨层;

2、一切设计都从Service层出发,作为一个系统首先需要把握其业务。从系统需要提供的功能进行分析,来确定Service接口中的方法,而不是从数据库出发到dao和Domain,再到Service层。不要对系统分层产生了误解,还是从最重要的功能来考虑的;

3、事务控制放到Service中;

4、Service层的设计,需要考虑控制Service的数量,通常将一个模块的服务放到一个Service中来处理,从Service层往下看,接口逐渐增多;

5、服务层的实现依赖于领域活动。最核心的设计就是将系统中的实体划分为领域模型,在此基础上设计dao层,再把这些操作暴露给Service层;

6、每一个层中的接口都关注自己的那一块,不能在一个Dao中随意操作别的表,这样只能让项目更加难以维护。

 

分享到:
评论

相关推荐

    [pdf] 软件系统的分层设计

    pdf格式论文 论文题目软件系统的分层设计

    y2深入.net平台的软件系统分层

    《y2深入.NET平台的软件系统分层》是一份深入探讨.NET平台下软件系统分层设计的宝贵资源。这份资源全面覆盖了课程内容,并与教材紧密同步,包括PPT讲解、详细文档以及书中的练习参考答案,旨在帮助学习者深入理解和...

    小项目系统分层学生管理系统

    "小项目系统分层学生管理系统"是这样一个实例,它基于.NET平台,利用了软件工程中的分层架构来组织代码。本文将深入探讨这个系统的组成部分以及.NET系统分层的基本概念。 首先,我们要理解什么是系统分层。在软件...

    AD_分层设计

    分层设计是电子设计自动化(EDA)中的一种常用技术,特别是在使用Altium Designer(简称AD)这类电路设计软件进行原理图设计时,分层设计显得尤为重要。当设计的项目较为复杂,无法在一张A4大小的原理图上完全展示时...

    一个多处理嵌入式实时操作系统的设计与实现

    一个多处理嵌入式实时操作系统的设计与实现

    基于模式的分层分布式系统架构的设计研究.pdf

    软件架构是软件工程中的一个核心概念,它涉及软件系统的结构设计和组织方法。...在设计分层分布式系统架构时,应当充分考虑系统的可扩展性、可用性和维护性,以实现对大型、复杂软件系统的有效管理。

    系统架构与分层

    系统架构与分层设计在软件开发中扮演着至关重要的角色,尤其在Java开发环境中。一个良好的架构设计能够确保系统的稳定性、扩展性、柔韧性和有效性。本文主要探讨了系统架构的基本概念、分层设计以及面向服务的架构...

    单片机bsp、kernel/驱动、应用分层设计开发

    单片机系统开发通常涉及到硬件抽象层(BSP)、内核(Kernel)以及应用程序(App)的分层设计。这种架构使得系统更加模块化,易于维护和扩展。下面将详细阐述这三个层面及其重要知识点。 首先,BSP(Board Support ...

    系统应用分层架构图(可线上编辑)

    1、平台架构图,分层展示架构图:从访问层、前端UI、web层、业务层、数据存储等层次展示系统架构,设置权限控制与日志记录; 2、提供pdf版本和可线上编辑文件,若需要编辑,可根据readme操作,操作简单 3、压缩包中...

    基于领域驱动设计的物流平台系统实现

    论文结合SILS物流平台系统的开发,封装了基于DWR和Spring的单元测试验证框架与基于Compass的搜索框架,详细阐述了基于J2EE技术体系的系统分层设计与实现过程,并成功将领域驱动设计融合到实际开发中。通过这种方式,...

    当当网代码分层设计不错的例子

    在软件开发领域,分层设计是一种常见的架构模式,它有助于保持代码的清晰、可维护性和扩展性。当当网作为知名的在线购物平台,其代码结构自然遵循了良好的分层设计原则。在这里,我们将深入探讨当当网代码分层设计的...

    springboot+mybatis 分层设计

    本篇文章将详细讲解如何利用SpringBoot和MyBatis实现一个分层设计的Web应用程序。 首先,SpringBoot是由Pivotal团队提供的全新框架,其目的是为了简化Spring应用的初始搭建以及开发过程。它集成了大量的Spring生态...

    基于电力电子系统集成的高速通信监控系统.pdf

    基于电力电子系统集成的思想,采用系统分层设计结构,提出一种与控制系统紧密结合的监控系统,并 根据大功率电力电子系统的具体应用对该监控系统提出了高速通信要求。基于OMAP.1137对该系统进行了软 硬件设计,...

    C语言分层设计管理系统源码

    【C语言分层设计管理系统源码】涉及到的核心概念是软件工程中的分层设计原则和C语言编程技术。分层设计是一种常见的软件架构模式,它将复杂的系统分解为多个相互独立的层次,每个层次负责特定的功能模块,使得系统...

    学生管理系统(分层开发)

    本项目以"学生管理系统(分层开发)"为主题,旨在探讨如何利用分层架构来设计和实现一个高效、可维护的学生管理软件。下面,我们将深入解析这一系统的各个层面及其核心知识点。 1. **分层架构介绍** 分层架构是...

    OpenHarmony-系统资源分层设计表

    OpenHarmony_系统资源分层设计表

    基于分层分布式结构的水电站计算机监控系统设计.pdf

    基于分层分布式结构的水电站计算机监控系统设计涉及了多个方面的知识点,包括水电站运行管理、计算机监控系统的开发、分层分布式结构的应用、监控系统功能的设计及实现、系统通信以及监控系统在水电站中的实际应用...

    java swing mvc设计模式 分层思想 自助订餐系统

    Java Swing MVC设计模式与分层思想在自助订餐系统中的应用 Java Swing 是Java平台上的一个图形用户界面(GUI)工具包,它为开发者提供了一系列组件来构建桌面应用程序。在这个自助订餐系统中,开发人员利用Swing...

    深入.NET平台的软件系统分层开发2

    在深入.NET平台的软件系统分层开发中,我们主要探讨的是如何构建高效、可扩展且易于维护的应用程序。北大青鸟ACCP6.0课程旨在为学员提供这方面的专业培训,帮助他们掌握.NET框架下的软件工程实践。在这个部分,我们...

Global site tag (gtag.js) - Google Analytics