`

设计模式----桥梁模式(bridge pattern)

 
阅读更多
Product.java代码如下:
package com.designPattern.bridge;

/**
 * 
 * @author yangjianzhou
 * 这是整个集团公司的产品类
 */
public abstract class Product {
 
	public abstract void beProducted();
	
	public abstract void beSelled();
}



House.java代码如下:
package com.designPattern.bridge;

public class House extends Product{

	@Override
	public void beProducted() {
		System.out.println("生产出的房子是这样的!");
		
	}

	@Override
	public void beSelled() {
		System.out.println("生产出的房子卖出去了!");
		
	}

}



Clothes.java代码如下:
package com.designPattern.bridge;

public class Clothes extends Product{

	@Override
	public void beProducted() {
		System.out.println("生产出的衣服是这样的!");
		
	}

	@Override
	public void beSelled() {
		System.out.println("衣服被卖出去了!");
		
	}

}



IPod.java代码如下:
package com.designPattern.bridge;

public class IPod extends Product{

	@Override
	public void beProducted() {
		System.out.println("生产出的IPod是这样的!");
		
	}

	@Override
	public void beSelled() {
		System.out.println("IPod被卖出去了!");
		
	}

}



Corp.java 代码如下:
package com.designPattern.bridge;

public  abstract class Corp {
  
	/*
	 * 这就是桥梁
	 */
	private Product product;
	
	/**
	 * 这个构造函数的目的就是让子类必须重写自己的有参构造函数,把产品类传进来
	 * @param product
	 */
	public Corp(Product product){
		this.product = product;
	}
	
	public void makeMoney(){
		this.product.beProducted();
		
		this.product.beSelled();
	}
}



HouseCorp.java代码如下:
package com.designPattern.bridge;

public class HouseCorp extends Corp{

	public HouseCorp(House house) {
		super(house);
		
	}

	@Override
	public void makeMoney() {
		
		super.makeMoney();
		System.out.println("房地产公司赚大钱了!");
	}

}



ShanZhaiCorp.java代码如下:
package com.designPattern.bridge;

public class ShanZhaiCorp extends Corp{

	public ShanZhaiCorp(Product product) {
		
		super(product);
	}

	@Override
	public void makeMoney() {
		
		super.makeMoney();
		System.out.println("我赚钱了!");
	}

}



Client.java代码如下:
package com.designPattern.bridge;

public class Client {
	
	public static void main(String[] args) {
		
		House house = new House();
		
		System.out.println("================房地产公司是这样运作的=============");
		HouseCorp houseCorp = new HouseCorp(house);
		houseCorp.makeMoney();
		System.out.println("==================山寨公司是这样运行的==============");
		ShanZhaiCorp shanZhaiCorp = new ShanZhaiCorp(new IPod());
		shanZhaiCorp.makeMoney();
		System.out.println("==================山寨公司是这样运行的==============");
		shanZhaiCorp = new ShanZhaiCorp(new Clothes());
		shanZhaiCorp.makeMoney();
	}

}



运行效果如下:
================房地产公司是这样运作的=============
生产出的房子是这样的!
生产出的房子卖出去了!
房地产公司赚大钱了!
==================山寨公司是这样运行的==============
生产出的IPod是这样的!
IPod被卖出去了!
我赚钱了!
==================山寨公司是这样运行的==============
生产出的衣服是这样的!
衣服被卖出去了!
我赚钱了!
分享到:
评论

相关推荐

    设计模式之桥梁模式实现

    桥梁模式(Bridge Pattern)是设计模式中的一种结构型模式,它的核心思想是将抽象部分与实现部分分离,使得它们可以独立地进行变化。在这个主题中,我们将深入探讨桥梁模式的原理、结构以及如何在Java中实现。 首先...

    设计模式之桥梁模式

    **桥梁模式(Bridge Pattern)详解** 桥梁模式是一种结构型设计模式,它将抽象部分与实现部分分离,使得它们可以独立地进行变化。这种模式的主要目的是为了将抽象化和实现化解耦,使得两者可以独立发展,增加了系统...

    Java24种设计模式,Java24种设计模式,24种设计模式,学会了这24种设计模式,可以打遍天下无敌手,设计模式非常重要

    11、桥梁模式BRIDGE PATTERN 12、命令模式COMMAND PATTERN 13、装饰模式DECORATOR PATTERN 14、迭代器模式ITERATOR PATTERN 15、组合模式COMPOSITE PATTERN 16、观察者模式OBSERVER PATTERN 17、责任链模式 18、...

    设计模式1-创建型模式

    结构型模式包括Adapter(适配器)、Bridge(桥梁)、Composite(组合)、Decorator(装饰者)、Flyweight(享元)等。这些模式解决了对象的组合问题,提供了一种通用的解决方案。 行为型模式包括Interpreter(解释...

    您的设计模式.pdf。

    涵盖了策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式、门面模式、适配器模式、模板方法模式、建造者模式、桥梁模式、命令模式、装饰模式、迭代器模式等十四种常用的设计模式。 策略模式...

    JavaScript设计模式.pdf

    3.桥梁模式(Bridge Pattern): 桥梁模式是将抽象部分与实现部分分离,使他们可以独立地变化。它的主要作用是降低耦合度,提高代码的灵活性和可扩展性。 4. 装饰者模式(Decorator Pattern): 装饰者模式是动态地...

    24种设计模式介绍与6大设计原则

    **桥梁模式(Bridge Pattern)** - **定义**:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 - **应用场景**:当一个类存在两个独立变化的维度时。 - **实例**:在设备驱动程序的设计中,可以通过...

    java的23种设计模式

    ### Java的23种设计模式详解 #### 一、引言 设计模式是软件工程领域的一个重要概念,它提供了一套解决常见问题的有效方案。在Java编程中,掌握设计模式对于提升代码质量和可维护性至关重要。本文将详细介绍23种经典...

    bridge-example:马尔马拉大学 OOP 课堂作业 - 桥梁设计模式示例

    **桥梁设计模式(Bridge Pattern)详解** 在软件工程中,桥梁设计模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们可以独立地进行变化。这个概念源于对象的多态性,旨在降低类之间的耦合度,提高...

    JAVA设计模式.rar

    策略模式【STRATEGY PATTERN】 ...桥梁模式【BRIDGE PATTERN】  命令模式【COMMAND PATTERN】  装饰模式【DECORATOR PATTERN】 迭代器模式【ITERATOR PATTERN】  组合模式【COMPOSITE PATTERN】 ......

    Java设计模式经典搞笑珍藏

    11. **桥梁模式(BridgePattern)**:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 12. **命令模式(CommandPattern)**:将请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。 13. **...

    java设计模式(电子书)

    第11章桥梁模式(BRIDGE PATTERN):将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式用以降低抽象和实现之间的耦合。 第12章命令模式(COMMAND PATTERN):将请求封装为一个对象,以便使用不同的...

Global site tag (gtag.js) - Google Analytics