1.如果存在一个帐单打印系统,例如它可以打印以下东西,你的消费纪录,你的详细消费纪录,公司所有人的消费纪录.
2.每个消费纪律的格式是同一的,这样就可以有一个对象,这个格式对象负责打印所有的对象格式,而系统根据用户不同用户对格式的要求,可以分为3种,而内蕴就是这三种格式的格式类别
3.当打印的时候,根据用户提供的要求的格式类别,找到自己要的格式对象(如果有此对象,直接使用,一个类别只有一个对象),然后print(String name)提供自己的信息,也就是所谓的外蕴,然后打印出符合自己的信息。
4.如果发现公司用户,则根据公司信息,找到公司的所有员工,信息,如果原来已经有了格式,可以在此利用。
总之,就是对一些有共同点的对象的反复利用,比如帐单,所有人的帐单的格式都是相同的,不同的就是具体的内容不同,如果每一个用户都生成一个完整的帐单,就会造成浪费,这也是重构的结果,封装相同的代码,代码重用。