合成和聚合的关系

前端之家收集整理的这篇文章主要介绍了合成和聚合的关系前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


合成聚合原则中,合成是值【value-变量有具体的值,基本变量在编译期有默认的值】的聚合,而聚合是引用的聚合,接受外界的值;

可见,两者的生命周期其实是可以是一样的;从生命周期的角度不能提取出区别;

但是对于依赖关系中的聚合来说,声明周期的区别是明显的;

所以,总结是:如果合成和聚合都是以全局变量的形式出现,那么区别是一个是值【value,比如聚合自己的一个list对象】的聚合,而聚合只是引用的聚合【默认初始值null】

如果聚合是以局部变量的形式出现,那么区别就是生命周期的区别了;

public class Adapter extends Adaptee implements Target{

         public void request(){

                   this.specialRequest();

         }

}
适配器模式中对于单个接口的适配我们可以直接通过extends来完成,但是对于多个接口的适配,我们可能需要合成2个Adaptee对象来完成目标接口的适配

猜你在找的设计模式相关文章