JS的装饰者模式中讲到如果装饰者对象和其组件因为接口不同不能互换使用,那就丧失了其功能,不太明白如果这里接口不同的话会导致什么样的后果?是必须保证buildList方法相同还是什么?求大神给细细讲一下接口相同的重要性。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
接口不同意味者被装饰后的对象和源对象没有共同点,没有同样的调用方法,那么装饰原对象有什么意义呢。
这里就是要求都有buildList接口
好比原来是一个饭店有外卖服务,需要顾客请求到店内的收银台点单,现在通过装饰者饭店开了一个专门的自助外卖窗口,有外卖需求的顾客可以直接通过这个窗口自助点外卖自助买单。现在的业务形式和原来的有相同的业务接口,只是表现形式和内在机制不同,但是对于顾客的需求都是可以得到满足。