举个例子吧。有一个业务场景:用户注册。现在用户注册完成后,需要发一个电子邮件给用户。但是以后可能还要增加一个处理逻辑:给这个新用户的账户,默认赠送10个使用币。再以后,可能还需要增加别的业务处理逻辑,这样就需要不停地修改代码,所以想:有没有个好的设计模式呢?我想到了插件:每个业务处理,设计成一个插件,这样,可以自由组合,比如,哪天不再赠送新用户10个使用币了,只需要修改配置,把相关插件注销即可。不知道类似我的这种需求,有没有好的设计模式呢?谢谢!!! 

解决方案 »

  1.   

    我的应用的业务逻辑是个Spring管理的manager来实现的,manager里的业务逻辑,可以拆分为N个单独的业务逻辑,但是这些业务逻辑,对于不同的客户,可能有不同的组合。现在我不想为每个客户都写一个的个性化的manager,我想通过“类似”插件的形式,为不同的客户提供不同的业务逻辑 
      

  2.   


    decorator 模式也是可以的 ,动态添加功能, 不过你的需求绝对适合 观察者模式