浏览 3578 次
锁定老帖子 主题:一个实际问题的建模问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-03-21
它们的关系Intent 1--n FormValue 1--n ItemValue 现在有一个要求,当保单意向为完成时,则不能再对保单意向做任何修改。 IntentService { void updateIntent(Intent intent); FormValue addFormValue(Intent intent,FormValue formValue); void removeFormValue(Intent intent,FormValue formValue); void removeFormValue(FormValue formValue); ItemValue addItem(FormValue formValue,ItemValue item); void removeItem(ItemValue item); void updateItem(ItemValue item); } 对于上面的那个要求,我再这些方法里都要有这样一个判断 intent.isFinish(); 首先觉得Aop不合适。不知大家有没有好的想法? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-03-21
把修改FormValue和ItemVlue的方法由Intent封装起来。
比如 FormValue addFormValue(Intent intent,FormValue formValue); 改为 Intent.addFormValue(FormValue formValue) { if(intent.isFinish()) throw xxxxx; this.formValues.add(formValue); } |
|
返回顶楼 | |
发表时间:2005-03-21
但是还是到处是isFinish().
是否需要这样一个对象 IntentChanger { IntentChanger(Intent intent); { if(intent.isFinish();); { throw ..... } } } |
|
返回顶楼 | |
发表时间:2005-03-21
nihongye 写道 但是还是到处是isFinish().
是否需要这样一个对象 IntentChanger { IntentChanger(Intent intent); { if(intent.isFinish();); { throw ..... } } } 到处都是怕什么的?难道你想一个类的一个方法只被调用一次? |
|
返回顶楼 | |
发表时间:2005-03-21
isFinish --> isFinished
|
|
返回顶楼 | |
发表时间:2005-03-21
实现一个保单完成状态的IntentService 实现,在需要IntentService 实例时就根据保单的状态实例化相应的IntentService 实例。
简单的IntentService 保单完成状态实现就是每个方法都抛出异常。 类似于NULL OBJECT模式,不过这种多态的用法应该挺普遍的。 |
|
返回顶楼 | |
发表时间:2005-03-21
:idea: 感觉是个不错的注意,多谢。
|
|
返回顶楼 | |
发表时间:2005-03-22
自己维护自己的内部状态不行吗?
void updateIntent(Intent intent){ if(isFinished==false){ ..... } } JDK里面好多这样的代码 |
|
返回顶楼 | |