1.产品按指定的顺序显示。
业务逻辑大致如下,当前产品推出了多个套餐。套餐ID是从别人的接口中获取的,返回的是无顺序的。但是不排序的话,JSP页面上显示会很乱,这样有了对套餐排序的需求。
原来是在程序中定义了一个数组,以数组中套餐ID的顺序来排序,初步实现了套餐排序的功能。由于新套餐的推出较频繁,这样每次增加新套餐,数组就得做相应地改动,也就是每次都需要修改程序,生产系统的server也要重新启动,感觉需要改进。
如果有新套餐推出,不用修改程序,不用重启server,就比较理想了。于是有了如下想法:
做一个配置文件,将套餐信息包含其中,程序中解析此xml文件,根据文件中套餐的顺序进行排序。每次添加新套餐时,只要修改此xml文件,然后上传到生产系统就可以了(具体的实现很简单,不写了)。
2.产品按指定规则变更。
用户选择了某个套餐A,使用了一段时间后,发现还是套餐B更实惠,这样会对当前使用的套餐进行变更。业务规则如下:对套餐变更来讲,例如:5+套餐可以变更为15+,25,35+,45+;一段时间后,5+套餐不能变更为45+套餐了,而且套餐变更的规则变化较快。
用户登陆应用后,可以在页面上进行套餐变更操作。可变更的套餐在一个下拉框中显示,可变更套餐的获取并不难,目前用一个方法进行过滤。关键是:以后每次套餐变更规则时,程序都要修改,很麻烦。
解决办法与套餐排序几乎一样。
3.多应用中的通用功能的抽取。
我们的多个应用部署在同一个jboss server下。例如:应用A和应用B部署在同一jboss server下(目前只能这样),每个应用中都有一个配置文件a.xml(就是解决上面1,2产生的配置文件),格式相同内容不同。
a.xml中有套餐的信息,对于不同的系统来说,套餐的信息是不同的,例如A应用中需要配置10+,20+,30+,40+,50+套餐,应用B中需要配置5+,15+,25+,35+,45+套餐。
我们目前有多个应用,每个应用都有套餐的变更和排序的功能需求,大家的实现都差不多。于是就有了把以上两个功能抽出来,做一个jar包,假定为suite.jar每个应用中包含一份。
实现:
多个应用部署在同一个jboss server下,每个应用中包含一个suite.jar,server启动时,各应用通过各自suite.jar中的Listener中获取当前应用的a.xml的路径,然后加载它。为了维护的方便,各应用中的a.xml都是相同的,每个应用只取自己需要的部分。
将来会有更多系统上线,并且几乎都要用到同样的几个功能,如果在多个系统中维护同一份代码,感觉不是较好办法。以下是我的思路,大家都来指点一下,先谢过!
1)将这几个通用的功能抽取出来,做成一个Jar,分别放在各子系统中。
优点:通用的功能代码在一处维护,功能升级时,修改一份源程序即可。
缺点:在多个应用中散布着相同的Jar,其实也是在多个地方维护着同一份代码。
2)将这几个通用的功能做成一个Jar,放到Jboss的lib下。
优点:多个应用使用同一份代码,通用的功能代码在一处维护。
不合理或者完善的地方还请大家批评指正,谢谢!
分享到:
相关推荐
评标专家抽取系统
系统可以方便地从专家、监督员库中的一组或几组中随机抽取指定数量的专家、监督员,支持一个项目中多个采购类别(如专业类、经济类、法律类、监督员、其他类别)的反复多次抽取。具有补抽专家等功能,因各种原因抽选...
使用kettle实现的通用全量抽取,需要抽取的表配置到文本文件中。数据库连接需要自己情况重新配置调整,考虑到通用性,表结构创建需要自己提前在目标数据库中创建
根据个人在数据仓库中的实际经验,设计开发出的通用的ETL抽取加载软件,具有较高的性能与易用性。
BI系统从系统从ERP系统抽取数据解决方案解析系统抽取数据解决方案解析摘要当BI系统从ERP系统中抽取数据时用户主要关心的是三个问题。一是数据抽取是否完全二是数据抽取是否准确三是数据抽取是否及时。三个
含七款评标专家随机抽取软件系统源码 源码及应用 大树评标专家抽取dashuzjcqtzxt 宏达评标专家抽取hdErdnms1.0 九鼎招标采购评审专家(机构)随机抽取系统_V2.59_标准版 闻道评标专家抽取pbcqSetup 源码 云智评标...
源码亲测可用,可做计算机毕业设计、课程设计等参考。 【项目技术】 python+flask 【实现功能】 本次以Python语言为主要的开发语言,以flask框架为主开发框架,实现一款基于B/S结构的知识图谱智能推荐系统的开发,...
运用正则表达式能够精确的抽取某一固定格式的页面,但面对形形色色的HTML,运用规则处置难免捉襟见肘...能不能高效、精确的将一个页面的正文抽取出来,并做到在大范围网页范围内通用,这是一个直接关系上层应用的难题。
通用抽取引擎框架_一种新的Web信息抽取方法的研究
源码亲测可用,可做计算机毕业设计、课程设计等参考。 【项目技术】 python+Django+mysql 【实现功能】 首页,文本管理,个人信息,事件抽取,密码修改,用户管理等
关键概念抽取系统,以中文分词为基础,结合加权词频算法,从大量文本中抽取出关键的概念。
计算机试题库系统,是将编好的试题、答案、编码事先存入计算机的外部存储器(硬盘、光盘等),使用时,通过软件的控制,按照一定的方式和规则,将试题抽取、组合,形成试卷,打印输出。 使用计算机试题库系统可以...
大型 ERP系统项目实战(4)_公共头信息的抽取_jar
Kettle实现多张表数据的定时删除全量抽取,删除旧shuju
通过文档对象模型(DOM)解析以及检索、抽取、映射等规则的定义,设计并实现了一种具有规则归纳能力的信息抽取系统,用于Web信息的自动检索。在用于抽取规则归纳的框架下,还重点对用于生成抽取模式的WHISK学习算法...
使用Kettle实现多数据表全量数据抽取,前提是两边表结构一模一样,维护的话请注意月度里面的readMe.md文件
政府采购专家抽取,专家管理系统,专家管理系统,专家管理系统
Vue电子公文信息抽取及归档系统,基于 Vue3、TypeScript、Element-Plus、Pinia 和 Vite 等主流技术.。 功能: 用户管理:登录、登出演示 权限管理:内置页面权限(动态路由)、指令权限、权限函数、路由守卫 多环境...
《大规模分布式系统架构与设计实战》从作者的实战经验出发,深入浅出地讲解了如何建立一个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统一利用,从而获取强大计算能力去解决复杂问题。一般互联网...