数据库优化java设计模式架构 策略 责任链
这里更像是一种思想:
对业务进行拆分,通过设计模式将其分成一个一个单体,通过数据库进行管理,通过上下文(content)容器类进行获取,前台可以直观看到单个业务之间关系,也能进行管理。
这里以策略模式和责任链为例,因为他们都是代表性的
特征:业务可以抽象,有多种实现方式,之间有判断关系或互相引用关系
比如策略模式遇到的问题,项目中创建或者返回多态声明时往往遇到的:
避免不了使用if
switch (report.getCode()){
case "1":
pass(report);
break;
case "2":
noPass(report);
break;
case "3":
back(report);
break;
case "4":
submit(report);
break;
}
优化方案:
将策略类注入容器的同时也把名称放到数据库中,启动时初始化时加载到容器内。通过
从容器内提取时,为了更加灵活,最好采用下面这种写法:
public <T> T getXXObject(String name,Class<T> t){
}
责任链 特点是互相引用,filter之间的链表关系,需要指向下一个filter,传统都是写死,或者通过注解进行排序
如果用数据库进行管理,则可以通过数据库的next和before,在初始化时先注入到spring容器,之后通过查询数据库进行互相引用,决定先后顺序,这里就不举例了。
版权声明:本文为bibiboyx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。