首页 > JS装饰者模式

JS装饰者模式

JS的装饰者模式中讲到如果装饰者对象和其组件因为接口不同不能互换使用,那就丧失了其功能,不太明白如果这里接口不同的话会导致什么样的后果?是必须保证buildList方法相同还是什么?求大神给细细讲一下接口相同的重要性。。


装饰者模式的意义就在于维持原借口的前提下动态的添加功能,接口不同的话装饰后的接口就无法替换原来借口了。


接口不同意味者被装饰后的对象和源对象没有共同点,没有同样的调用方法,那么装饰原对象有什么意义呢。
这里就是要求都有buildList接口
好比原来是一个饭店有外卖服务,需要顾客请求到店内的收银台点单,现在通过装饰者饭店开了一个专门的自助外卖窗口,有外卖需求的顾客可以直接通过这个窗口自助点外卖自助买单。现在的业务形式和原来的有相同的业务接口,只是表现形式和内在机制不同,但是对于顾客的需求都是可以得到满足。

【热门文章】
【热门文章】