Android开发技术分享Android开发Android知识

设计模式大总结(一):组合模式

2017-09-15  本文已影响0人  珠穆朗玛小王子

前言#

一不小心博客就已经停了8天了,为什么这么一不小心呢?

1、工作中遇到了一些比较蛋疼的难题。
2、最近这几天都在看Java Web开发。
3、懒,也不知道写什么。

于是想总结一下工作中对设计模式的理解和总结,今天就是开篇的:组合模式。

正文#

组合模式听起来非常好理解,就是小时候我们搭积木,组装个四驱车这些东西。

直接举个栗子:

/**
* 男人
*/
public class Man{
    ...
}

/**
* 女人
*/
public class Women{
    ...
}

现在我们有这两个类,里面实现了很多重要的方法,突然伟大的产品对我说,我要增加一个Family类:

/**
* 家庭
*/
public class Family{

    private Man man;
    private Women women; 
    
    public void work(){
        man.work();
    }

    public void cook(){
        women.work();
    }
    ...
}

家庭就是有男人和女人组成,这就是典型的组合模式,再举个栗子,现在商品大促销,套装买更合适:

/**
* 产品1
*/
public class Product1{
    ...
}

/**
* Product2
*/
public class Product2{
    ...
}

/**
* 套装
*/
public class Suit{

    private Product1 product1;
    private Product2 product2; 
    ...
}

组合模式在工作中,真的是经常遇到,大家都应该是见怪不怪了。

总结#

其实组合模式我本来是想略过的,但是为了下一篇的代理模式和组合模式的对比,所以写了这篇,总结一下就是:

组合模式:把已经定义好的一个或多个类组合成一个新的类。

下一篇一起来看看代理模式,聊一聊他俩的区别。

上一篇 下一篇

猜你喜欢

热点阅读