设计模式大总结(一):组合模式
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;
...
}
组合模式在工作中,真的是经常遇到,大家都应该是见怪不怪了。
总结#
其实组合模式我本来是想略过的,但是为了下一篇的代理模式和组合模式的对比,所以写了这篇,总结一下就是:
组合模式:把已经定义好的一个或多个类组合成一个新的类。
下一篇一起来看看代理模式,聊一聊他俩的区别。