日期:2014-05-20  浏览次数:20768 次

以下情景如何应用设计模式?
比如:岗位 对应职责,职责对应流程这样:A对应B,B对应C,C对应D

如果说,我要删除 A,那么必须做业务级联删除(AB(中间表),B,...)

删除B,则删除B处于该链条中以下部分。

这种情况,如何设计呢?

难不成:
 DeleteA()
{
    删除 AB
    删除 B
    删除BC
    ....
}

DeleteB()
{
   删除BC
   删除C
   。。。
}
------解决方案--------------------
删除B,则删除B处于该链条中以下部分。

===================================

这句话假设了业务规则,而对设计人员来说,我们一般不会假设这种规则,除非你能保证例外与规则的情况绝对不会发生

比如此处,如果按照这种假设规则,那么一个场合性设计可能就是action<T>的链表,使用职责链模式去操作


但是我们通常不会直接这么设计,因为我们不知道是否会有例外与规则的情况发生,所以只需简单的virtual他即可,让后面实现子类的人自己去实现,这样他想怎么弄都可以

------解决方案--------------------
设计模式是用来解决问题的,不是用来套用的,好像绝大多数人都不知道这点...