结构型模式(二):Bridge(桥梁模式)

将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。

例子:比如你要做山寨产品,更新一定要快,什么流行生产什么,但工厂还是那个工厂。

 1 abstract class Product{
2 public abstract void beforeProducted();
3 public abstract void beforeSelled();
4 }
5
6 class House extends Product{
7 @Override
8 public void beforeProducted() {
9 System.out.println("生产出来房子是这样的");
10 }
11 @Override
12 public void beforeSelled() {
13 System.out.println("生产出来的房子卖出去了");
14 }
15 }
16
17 class Clothes extends Product{
18 @Override
19 public void beforeProducted() {
20 System.out.println("生产出来衣服是这样的");
21 }
22 @Override
23 public void beforeSelled() {
24 System.out.println("生产出来的衣服卖出去了");
25 }
26 }
27
28 abstract class Crop{
29 private Product product;
30 public Crop(Product product){
31 this.product=product;
32 }
33 public void makeMoney(){
34 this.product.beforeProducted();
35 this.product.beforeSelled();
36 }
37 }
38
39 class shanzaiCrop extends Crop{
40 public shanzaiCrop(Product product){
41 super(product);
42 }
43 @Override
44 public void makeMoney() {
45 super.makeMoney();
46 System.out.println("狂赚钱");
47 }
48 }
49
50 public class Test {
51 public static void main(String[] args) {
52 Crop housecrop=new shanzaiCrop(new House());
53 housecrop.makeMoney();
54 Crop clothcrop=new shanzaiCrop(new Clothes());
55 clothcrop.makeMoney();
56 }
57 }

 

posted @ 2011-12-08 16:19  一直在等  阅读(248)  评论(0编辑  收藏  举报