比如,第一版的代码为:
//购买商品apipublic function buyGoods(){ //参数验证 $validate->validateParam(); //购买逻辑 $goods->buy(); }
这时候,第一版已经稳定运行了,我们希望不再过多修改这个成员方法,但第二版的需求来了,那就是要在这个函数处理完之后再加入一些处理函数,比如第二版的代码为:
//购买商品api public function buyGoods(){ //参数验证 $validate->validateParam(); //购买逻辑 $goods->buy(); //用户积分明细录入 $user->credit(); //用户资金明细录入 $user->money(); ...等等n个新加函数 }
这个credit()和money()等是后加入了的,如果想加入这些函数就必须修改buyGoods(),这样就破坏了原来的buyGoods()。
有没有一种设计模式,可以让成员方法能在不改变原有代码的前提下轻易扩展?
蝴蝶不菲
相关分类