情势实践:察看者情势与Spring[Java编程]
本文“情势实践:察看者情势与Spring[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
公司的项目告一段落,近来在举行RUP培训项目,有了些闲暇的时间.闲暇浏览TheServerSide时,看到一篇名叫《Spring loaded Observer Pattern》的文章,不由会意一笑——我已在两个月前利用到项目中了.而作者的概念也和我的概念符合:the Spring framework is a great reason to continue design pattern advocacy in your projects.
下面我将自己在项目中利用的实例拿出来和大家分享,共同进步.
我将实际项目中的包名、业务逻辑代码屏蔽掉了,并举行了一定的简化.
在系统中存在这样的情形:一个功效点触发的行动会惹起相关一个大概多个功效点在业务上举行对应的数据处理.而到底有几个功效点要做出呼应,要看客户实施了哪些需求作出呼应的具体功效点.
比方:A功效点的某项业务会触发B、C、D三功效点做出回应,而客户购置了哪些功效点是个未知数,大概客户不需求C功效点,对A功效点业务操作作出呼应的唯一B、D.
按照上面的需求可以得出,计划上要尽大概的疏松耦合,保持各功效点的独立性.察看者情势责无旁贷的跳了出来(深化浅出察看者情势).
我们的系统在整体上采取Spring framework来举行Bean管理.操纵Spring通过配置文件来加载具体的类的方法——相当于被包装了的工厂,使得代码越发机动.一样,察看者情势的利用可以很好的借用Spring framework供应的平台,变得越发机动.
首先成立了抽象察看者角色:
[php]/**
* 抽象察看者,用于处理相关的记录
* @author Ai92
* </pre>
* Created on :2005-7-4 11:36:14
* </pre>
*/
public abstract class StaffingObserver {
public abstract void update (Map para)throws BaseException;
}[/php]
由于仅仅是举例,这里只列出一个具体察看者角色:
[php]/**
* Concrete Subject具体察看者角色.这里省略了业务代码
* @author Ai92
* </pre>
* Created on :2005-5-30 14:59:11
* </pre>
*/
public class TerminateDispatch extends StaffingObserver {
/**
* @param staffRecordID
* @throws BaseException
* @author Ai92
* <pre>
* Created on :2005-5-30 14:59:11
* </pre>
*/
public void update(Map para) throws BaseException {
//……do same business act
}
private DispatchDAO dispatchDAO ;
/**
* @param dispatchDAO 设置 dispatchDAO
*/
public void setDispatchDAO(DispatchDAO dispatchDAO) {
this.dispatchDAO = dispatchDAO;
}
}[/php]
以上是“情势实践:察看者情势与Spring[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |