业务层设计与开发(定义业务层标准) | 学习笔记

简介: 简介:快速学习业务层设计与开发(定义业务层标准)

开发者学堂课程【DAO 开发实战业务分析:业务层设计与开发(定义业务层标准)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/399/detail/5166


业务层设计与开发(定义业务层标准)

 

内容介绍:

一、具体内容

二、定义业务层操作标准


一、具体内容

所有的数据层提供给用户的都属于原子操作,那么所有的原子必须在业务层上进行整合控制。

而且从实际的开发来讲业务层一定要被控制层调用,那么控制层就必须知道业务层的实现标准。


二、定义业务层操作标准

image.png

一般而言,很多人会将业务层称为服务层(Service),那么既然本次的业务层是为了 member 表服务,那么这个业务层的接口名称应该为 IMemberService。

并且将其保存在 cn.mldn.service 包中。

范例:定义 IMemberService 接口

打开

image.png

package cn.mldn.oracle.service;

import cn.mldn.oracle.vo.Member;

public interface IMemberService {

/**

*实现用户数据的追加操作处理,本操作要执行如下功能:

*<li>1、使用IMemberDAO.findById()方法判断要增加的用户信息是否存在。</li>

*<li>2、使用IMemberDAO.findByPhone()方法判断要增加的用户

电话是否存在</li>

*<li>3、使用IMemberDAO.doCreate()保存数据</ li>

*@param vo要追加的Vo对象

*@return增加成功返回true,否则返回false

*@throws Exception

*/

public boolean add( Member vo) throws Exception ;

/**

*进行用户数据的更新处理,此时需要执行如下操作: <br>

*<li>1、要判断修改后的电话是否已经存在(不包含自己的)</ li>

*<li>2、调用IMemberDA0.doUpdate()方法进行修改</li>

*@param vo 包含要更新的用户数据

*@return更新成功返回true,否则返回false

*@throws Exception

*/

public boolean edit(Member vo) throws Exception ;

/**

*进行用户数据的删除处理,本操作需要经过如下处理: <br>

<li>1、判断集合之中是否有数据。</ li>

<li>2、调用IMemberDA0.doRemoveBatch()方法删除数据。</li>

*@param ids包含所有要删除的数据

*@return如果集合为空(或者集合之中没有数据),以及删除失败返回都是false,否则返回true

*@throws Exception

*/

public boolean remove(Set<String> ids) throws Exception ;

/**

*根据用户编号查询用户信息,调用IMemberDAO.findById()操作

*@param id要查询的用户编号

*@return如果编号存在以vO对象返回,否则返回null

*@throws Exception

*/

public Member get(String id) throws Exception

/**

*调用IMemberDAO.findAl1()查询全部数据

*@return所有的数据以List集合返回,如果没有数据则集合长度为0

*@throws Exception

*/

public List<Member> list( ) throws Exception ;

/**

*数据的分页列表显示,要执行如下操作: <br>

*<li>1、调用IMemberDAO.findAllSplit()方法,取得全部的数据</li>

*<li>2调用IMemberDAO.getAllCount()方法,统计数据量</li>

*@param currentPage_当前所在页

*@param linesize每医显示的数据量

*@return本次的操作会返回多个结果,以Map的形式保存,包括如下内容:<br>

*<li>key = allMembers、value =

IMemberDAO.findAllSplit(),

类型:

List<Member></li>

*<li>key = memberCount、value = IMember DA0. getAllCount(),类型:Long< / li>

*@throws Exception

*/

public Map<String,0bject>list(int currentPage,int lineSize)throws Exception ;

/**

*数据的分页列表显示,要执行如下操作: <br>

*<li>1、调用IMemberDAO.findAllSplit()方法,取得全部的数据</li>

*<li>2调用IMemberDAO.getAllCount()方法,统计数据量</li>

*param column模糊查询的数据列

*@param keyword 模糊查询关键字

*@param currentPage当前所在页

*@param linesize每页显示的数据量

*@return本次的操作会返回多个结果,以Map的形式保存,包括如下内容:<br>

*<li>key = allMembers、value =

IMemberDAO.findAllSplit(),类型:

List<Member></li>

*<li>key = memberCount、value = IMember DA0. getAllCount(),类型:Long< / li>

*@throws Exception

*/

public Map<String,0bject> list(String column,String keyword int currentPage,int lineSize)throws Exception ;

所有的设计严格按照之前的要求进行开发。

相关文章
|
2月前
|
安全 前端开发 NoSQL
如果让你设计一个接口,你会考虑哪些问题?
接口设计需关注参数校验、扩展性、幂等性、日志、线程池隔离、异常重试、异步处理、查询优化、限流、安全性、锁粒度和避免长事务。入参与返回值校验确保数据正确性;考虑接口扩展性以适应不同业务需求;幂等设计防止重复操作;关键接口打印日志辅助问题排查;核心接口使用线程池隔离确保稳定性;异常处理中可采用重试机制,注意超时控制;适合异步的场景如用户注册后的通知;并行查询提升性能;限流保护接口,防止过载;配置黑白名单保障安全;适当控制锁粒度提高并发性能;避免长事务影响系统响应。
|
存储 设计模式 缓存
复杂逻辑业务层治理探究
复杂逻辑业务层治理探究
331 1
|
SQL Java 数据库连接
数据层设计与开发(数据层标准实现类) | 学习笔记
简介:快速学习数据层设计与开发(数据层标准实现类)
132 0
数据层设计与开发(数据层标准实现类) | 学习笔记
|
开发者
数据层设计与开发(数据层工厂类) | 学习笔记
简介:快速学习数据层设计与开发(数据层工厂类)
84 0
数据层设计与开发(数据层工厂类) | 学习笔记
|
数据库 开发者
业务层设计与开发(业务层标准实现类) | 学习笔记
简介:快速学习业务层设计与开发(业务层标准实现类)
109 0
|
设计模式 开发框架 数据库
业务层结构优化 | 学习笔记
简介:快速学习业务层结构优化
73 0
|
开发者
待业务层设计与开发(业务层工厂类) | 学习笔记
简介:快速学习待业务层设计与开发(业务层工厂类)
58 0
|
安全 前端开发 物联网
接口设计篇《怎么设计好的接口?》
这样设计接口【升职加薪】?
373 0
|
存储 弹性计算 缓存
JavaWeb开发经验谈:业务行为相似DAO接口的统一封装与使用
以对mybatis-plus的封装使用为例,给出一个在适用业务场景下大幅降低代码信息熵的解决方案
JavaWeb开发经验谈:业务行为相似DAO接口的统一封装与使用
|
SQL 存储 数据库
其实添加数据也可以这样简单——表单的第一步抽象(针对数据访问层)《怪怪设计论: 抽象无处不在 》有感
更正:不好意思,昨天晚上思路有点混乱。有几个前提忘记说明了,现在补充一下。 1、缩小范围。按照由简到难的思路,这里先讨论最简单的添加数据的情况。就是单表的添加和修改;这里讨论的是webform的情况。
1074 0