`
junglecat
  • 浏览: 2822 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

一个service类里有很多业务逻辑方法,他们都大同小异,怎样利用设计模式

阅读更多
   现在我有一个service实现类,里面有很多业务逻辑方法,例如:工作流的申请,批准,拒绝,确定等等,他们都对应一个方法,每个方法都很大,其实他们做的事情都很类似,都是从页面获取获取参数,插入数据库,
调用工作流引擎,发送Email.但是根据每个业务不一样,设的一些值也不一样,比如神情后,往数据库状态字段里面插入wainting for approval.而批准后是waiting for execute。

   能不能利用设计模式,把一些公用的操作提起出来,使每个方法都很简洁,谢谢大家提供下思路!
分享到:
评论
6 楼 hasi 2006-12-12  
提炼接口会好很多,同时能保证扩展性
5 楼 cfans 2006-12-12  
工作流处理我用的过滤器,通过页面标签确定下一步工作流向。其他部分就是普通service
4 楼 qinysong 2006-12-11  
先不要限定于设计模式,用重构的思路,一点一点分离封装,分离差异,封装相似,最后达到每个业务方法中只含有几行操作方法的调用。
如果还可以细化设计的话可以将通用操作下移。
3 楼 giscat 2006-12-11  
提炼几个通用的函数,
传几个参数,调用几把就差不多了把
2 楼 抛出异常的爱 2006-12-11  
用一个接口来代替
工作流的申请,批准,拒绝,确定等等
之后会小的通用方法来将相同的代码封装
最后将传入类进行解耦
1 楼 kj23 2006-12-09  
把一些公用的动作通过aop方式织入

比如发送email就完全可以剥离出主逻辑

相关推荐

    设计模式——单例模式

    单例模式是软件设计模式中的一种经典模式,它在许多实际场景中被广泛使用,尤其在需要控制类的实例只有一个的情况下。单例模式确保无论在程序的任何地方,只要通过特定方式请求该类的实例,始终只会返回同一个对象。...

    Java的常用设计模式

    说起设计模式,很多编程语言的设计模式大同小异,而且设计模式很多,这里介绍一下java的几种常见的设计模式,其实设计模式是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便,所以要降低依赖,降低耦合...

    基于springboot的学生宿舍管理信息系统

    同时很多学校的管理方法都是大同小异。在宿舍管理过程中宿舍管理制度是一个依据,同时也是一种规范。每次新学期开始都会有很多新的面孔进入学校或者公司。他们的迎接安排工作也非常重要。在住宿过程中,很多时候学生...

    模板方法模式深度解析

    在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都...为了提高代码的复用性和系统的灵活性,可以使用一种称之为模板方法模式的设计模式来对这类情况进行设计,在模板方法模式中,将实现功能

    烟花程序.rar(内容由c++编写,网上有很多版本,大同小异,可以添加文字,转换音乐,非常有趣)

    烟花程序是一种基于C++编程...总的来说,烟花程序的实现是一个集成了C++基础语法、计算机图形学、多线程、音频处理和优化等多个领域的综合性项目。它不仅可以帮助开发者提升C++编程技能,还能带来乐趣和创造性的体验。

    UNet(UNet网络的三个实现:大同小异 全是pytorch实现)

    - **分割数据集**:这是用来训练和评估图像分割模型的数据,通常包括多张图像及其对应的分割标签,每张图像的每个像素都有一个标签,表示其属于哪一类。 **详细知识点:** 1. **UNet架构**:UNet网络的核心在于其...

    AOC电视进入酒店模式和工厂模式的方法

    测试机型:32m3095(其它机型未试,...我本来想改开机画面(有这个功能),但没研究成功,因为不知道怎么弄。 进入工厂模式好处:可以设置不正常的颜色,声音。恢复系统默认设置。好多功能,是英文的,我看不懂。

    汽车消费类网站的公关营销模式及传播策略研究.docx

    汽车消费类网站的结构模式多样,有的专注于汽车行业服务,有的以社区互动为核心,有的侧重会员服务,还有的聚焦于车险服务。这种多元化的发展路径体现了市场对专业化和定制化服务的追求。然而,当前的市场现状显示,...

    译码器实验报告.docx

    译码器的种类很多,但它们的工作原理和分析设计方法大同小异。二进制译码器、二-十进制译码器和显示译码器是三种最典型的译码电路。二进制码译码器,也称最小项译码器,N 中取一译码器,最小项译码器一般是将二进制...

    U盘装系统的方法和U盘制作镜像文件

    关于这个,不同电脑不同版本的 bios 有不同的设置方法,不过都大同小异,目的就是让电脑的第一启动项变为 U 盘启动。 下面我们举例几个不同 bios 的调整方法。最常见的 Phoenix-Award 的 bios 选项,选择 USB-HDD ...

    趣味数学PPT课件.pptx

    疯狂谜语部分则展示了数学与语言的结合,每个谜语的答案都是数学术语,如“大同小异”对应“相似”,“再见吧,妈妈”对应“除法”等,这类谜语有助于提高数学思维的灵活性。 疯狂成语部分则结合了数学运算和文字...

    系统逻辑架构/服务器架构

    系统逻辑架构/服务器架构,企业系统大同小异,一般大型企业系统的架构。我每个项目都在此基础上修改,希望对你也有帮助,通过PPT画的。

    Unity 工具类 之 AR/VR Gaze 凝视/按键/鼠标 点击 UI/游戏物体 的交互方式实现

    1、参照 Unity 交互的方法,写一个凝视/按键/鼠标交互方式的类 2、继承 Unity的 PointerInputModule 类,重写和添加方法控制凝视/按键/鼠标交互方式的类的选择、未选择、选中的交互动态 3、添加一个类了动态调整凝视...

    spring02.rar

    它们都是Spring的组件注解,区别在于语义上,但功能上大同小异,主要用来标记一个类为Spring管理的bean。 2. **依赖注入(Dependency Injection, DI)**:Spring Boot的一大优势就是它的DI机制。通过@Autowired注解...

    asp.net乱码解决方法

     1、在web.config里配制,这个方法确实可行,但我想很多人不想用这种方法来解决,把整个项目的请求和回应都定为gb2312,我觉得不是一个好办法,有点本末倒置了,毕竟这会导致很多其它问题的出现。  2、把要包含...

    单片机课程设计-打地鼠.pdf

    这篇文档主要介绍了一项基于...总的来说,这篇文档提供了一个基于STC89C52单片机的打地鼠游戏机设计实例,涵盖了从系统规划到具体实现的各个环节,对于学习单片机应用和电子游戏设计的读者来说,是一个很好的学习资源。

    用梯形图编写工业控板程序

    本文档详细介绍了如何使用梯形图编写工业控板程序,涵盖了梯形图的基本概念、PLC简介、梯形图转换方法分析、LD类指令、LDI类指令等知识点,为读者提供了一个全面的了解工业控板程序编写的指南。

    ad18软件中pcb设计等长查看方法

    在分析AD18软件中PCB设计等长查看方法的知识点时,我们会深入探讨如何检查没有串联电阻的网络组以及有串联电阻的网络组的等长规则。这个过程对于确保电路板设计的精确度和性能至关重要,尤其对于高速信号的传输。...

    DELL服务器RAID配置详解.pdf

    磁盘阵列不单只可以加入一个现成的系统,它更可以支持容量扩展,方法也很简单,只需要加入一个新的硬盘并执行一些简单的指令,系统便可以实时利用这新加的容量。 RAID的种类及应用 IDE和SCSI是计算机的两种不同的...

Global site tag (gtag.js) - Google Analytics