3.4 桥接模式

合集下载

CBA750B 3G 4G 无线WAN桥接器设置说明书

CBA750B 3G 4G 无线WAN桥接器设置说明书
PoE Router/Passthrough modes
State
Solid: On
On: Primary connection is 4G
On: Primary connection is 3G
On: Primary connection is 2G
On: Secondary WAN is in use Off: Primary WAN operating normally
Signal
Power over
strength Ethernet
3G HSPA+ EVDO UMTS
2G 1XRTT Failover
Status
Edge GPRS
(USB/ExpressCard
modem)
Router/ Passthrough mode
g000711
a b
c
g000708
How to Set Up Your CBA750B 3G/4G Wireless WAN Bridge
On: CBA750B is in PoE mode
Green: Router mode Off: Passthrough mode
NOTE: This LED matches the switch tting rather than the actual configuration (it is possible to overrule the switch settings from the administration pages).
• Load balance is disabled; the highest priority WAN device is used.

无线路由器改桥接模式操作说明

无线路由器改桥接模式操作说明

无线路由器改桥接模式操作说明无线路由器是用于实现网络接入的设备,一般来说可以通过有线连接或无线连接接入到网络中。

而无线路由器的桥接模式则是一种特殊的工作模式,它可以将无线路由器作为一个无线扩展器,将原本与路由器连接的有线设备转换为无线设备,从而扩大网络覆盖范围。

在进行无线路由器的桥接模式设置之前,我们需要准备以下几个要素:一个主路由器(一般是已经连接到互联网)、一个将要被设置为桥接模式的无线路由器。

以下是无线路由器改桥接模式的具体操作说明:步骤一:连接主路由器和无线路由器1.确保主路由器已经通过网络线连接到互联网,并正常运行。

2.使用网络线将主路由器和无线路由器通过LAN口相连,确保两台路由器之间可以正常通信。

步骤二:登录无线路由器的配置界面1.连接到无线路由器的局域网,可以通过有线连接或者无线连接方式。

2. 打开浏览器,输入无线路由器的默认IP地址(一般是192.168.1.1或192.168.0.1),按下Enter键。

3. 在弹出的登录页面中,输入无线路由器的用户名和密码进行登录。

如果没有修改过,默认的用户名和密码通常是admin。

步骤三:选择桥接模式1.登录成功后,进入无线路由器的配置界面。

2.在配置界面中找到“网络设置”、“网络”或者“无线设置”的选项,点击进入。

3.在无线设置界面中,找到“工作模式”或者“无线模式”的选项。

4.将工作模式设置为“桥接模式”或者“无线扩展器模式”等类似的选项。

5.点击保存并应用设置,等待无线路由器重新启动。

步骤四:配置桥接参数1.在无线路由器重新启动后,继续登录无线路由器的配置界面。

2.找到网络设置、无线设置、无线高级设置或类似的选项。

3.在桥接模式下,通常会提供桥接SSID、桥接密码等选项。

将其设置为与主路由器相同的SSID和密码,并点击保存。

4.如果主路由器设置了MAC地址过滤等安全性策略,还需要将无线路由器的MAC地址加入到允许列表中。

至此,我们已经完成了无线路由器改桥接模式的操作。

路由器桥接设置方法

路由器桥接设置方法

路由器桥接设置方法
路由器桥接是指将路由器作为无线中继器使用,可以扩大无线覆盖范围,提高无线网络的覆盖性能。

下面我们来介绍一下路由器桥接的设置方法。

首先,确保你的路由器支持桥接功能。

在购买路由器时,可以查看产品说明书或者在官方网站上查询相关信息,确认路由器是否支持桥接功能。

接下来,将路由器连接到电脑上,打开浏览器,输入路由器的管理地址,输入用户名和密码登录路由器管理界面。

在路由器管理界面中,找到“无线设置”或者“网络设置”选项,点击进入无线设置页面。

在无线设置页面中,找到“工作模式”或者“工作方式”的选项,选择“桥接模式”或者“中继模式”。

然后,在桥接模式设置页面中,需要输入要连接的无线网络的SSID(无线网络名称)和密码,这样路由器就可以连接到指定的无线网络。

在设置完成后,保存并应用设置,等待路由器重启。

当路由器重启完成后,就可以将路由器放置在需要增强信号的区域,这样就完成了路由器的桥接设置。

需要注意的是,在进行路由器桥接设置时,一定要确保所连接的无线网络是稳定的,信号覆盖范围要足够,这样才能保证桥接后的无线网络性能。

另外,路由器桥接设置也需要注意避免干扰,尽量选择空闲的无线信道,避免与其他无线设备发生干扰,影响网络性能。

总结一下,路由器桥接设置方法包括确认路由器支持桥接功能、登录路由器管理界面、选择桥接模式、输入要连接的无线网络信息、保存并应用设置、等待路由
器重启,最后放置路由器到需要增强信号的区域。

在设置过程中要注意确保稳定的无线网络和避免干扰,这样才能保证桥接后的无线网络性能。

希望以上内容能够帮助到您,祝您设置成功!。

路由器无线桥接方法

路由器无线桥接方法

路由器无线桥接方法路由器无线桥接是指利用无线信号连接两个或多个路由器,实现网络信号的扩展和覆盖。

这种方法可以帮助我们在家庭、办公或其他场所中实现更广泛的网络覆盖,提高网络的稳定性和可靠性。

接下来,我将介绍路由器无线桥接的方法,希望对大家有所帮助。

首先,要进行路由器无线桥接,我们需要准备好相应的设备和条件。

首先,我们需要有两台或两台以上的路由器,其中一台作为主路由器,另外一台或多台作为从路由器。

其次,我们需要确保主路由器和从路由器之间有一定的距离,以便于信号的传输和覆盖。

另外,我们还需要确保主路由器和从路由器都处于正常工作状态,可以正常连接互联网。

接下来,我们开始进行路由器无线桥接的设置。

首先,我们需要登录主路由器的管理界面,一般是在浏览器中输入路由器的IP地址,然后输入用户名和密码进行登录。

在管理界面中,我们需要找到无线设置的选项,并进入无线设置页面。

在这里,我们需要设置主路由器的无线名称(SSID)、加密方式和密码等信息。

确保主路由器的无线信号设置是正确的,可以正常连接上网。

接着,我们需要登录从路由器的管理界面,同样是在浏览器中输入路由器的IP 地址,然后输入用户名和密码进行登录。

在管理界面中,我们也需要找到无线设置的选项,并进入无线设置页面。

在这里,我们需要设置从路由器的无线名称(SSID)、加密方式和密码等信息。

与主路由器设置类似,确保从路由器的无线信号设置也是正确的,可以正常连接上网。

在设置好主路由器和从路由器的无线信号后,我们需要进行无线桥接的设置。

在主路由器的管理界面中,找到无线桥接或者无线中继的选项,并进入相应的设置页面。

在这里,我们需要选择从路由器的无线信号,并进行连接。

一般来说,我们需要输入从路由器的无线名称(SSID)、加密方式和密码等信息,确保可以成功连接上从路由器的无线信号。

最后,我们需要在从路由器的管理界面中,同样找到无线桥接或者无线中继的选项,并进行相应的设置。

在这里,我们需要选择主路由器的无线信号,并进行连接。

如何设置路由器的无线桥接模式

如何设置路由器的无线桥接模式

如何设置路由器的无线桥接模式在实现网络无线拓展的过程中,路由器的无线桥接模式是一种非常实用的技术。

这种模式可以方便地将一个有线网络扩展到无线网络,从而实现网络覆盖范围的扩大。

本文将介绍如何设置路由器的无线桥接模式。

一、了解无线桥接模式无线桥接模式(Wireless Bridge)是一种将无线网络和有线网络桥接起来的技术。

通过桥接,无线客户端可以连接到有线网络,从而实现网络拓展。

在这种模式下,无线桥接器充当着无线中继器的角色,将信号在不同的设备之间进行传递。

二、设置无线桥接模式1. 准备工作首先,需要准备好一台支持无线桥接的路由器,例如TP-LINK TL-WR802N。

同时,还需要一个电脑来进行设置。

2. 连接路由器将路由器通过网线连接到电脑上,打开浏览器输入默认IP地址(例如192.168.1.1),输入用户名密码进行登录。

3. 进入设置页面在路由器主页中,点击“网络设置”-“无线桥接”进入桥接设置页面。

4. 开启无线桥接功能在桥接设置页面中,找到“无线桥接模式”选项,选择“启用”即可开启无线桥接功能。

此时,路由器会自动扫描附近可用的Wi-Fi网络并显示在页面中。

5. 选择连接网络选择要连接的Wi-Fi网络,输入该网络的密码,单击“连接”按钮。

如果连接成功,则页面会显示“连接成功”的提示信息。

6. 配置无线网络在无线桥接设置页面中,找到“无线网络设置”选项,设置一个SSID 和密码,确保和原有的网络没有冲突。

保存并应用更改。

7. 完成设置设置完成后,无线桥接器就会开始连接到指定的无线网络并进行桥接。

现在,您可以通过移动设备等无线客户端连接到桥接的无线网络,从而扩展原有网络的覆盖范围。

三、注意事项1. 在设置无线桥接模式前,建议先进行固件升级,以确保设备处于最新状态。

2. 桥接的无线网络SSID和密码应与原有网络的SSID和密码不同,避免冲突。

3. 在设置无线桥接模式时,应选择稳定可靠的网络进行桥接,以免出现信号不稳定等问题。

路由器无线桥接设置方法

路由器无线桥接设置方法

路由器无线桥接设置方法路由器无线桥接是指利用路由器的无线功能将两个网络进行无线连接,以实现网络扩展和覆盖的功能。

无线桥接可以帮助我们在家庭、办公等环境中解决网络覆盖不足的问题,提高网络的覆盖范围和信号质量。

下面,我们将介绍路由器无线桥接的设置方法,希望能帮助到有需要的朋友。

首先,确保你手中有两台支持无线功能的路由器,一台作为主路由器,另一台作为副路由器。

接下来,我们将分步骤进行设置:1. 主路由器设置。

首先,将主路由器连接上电源并接入宽带网络,然后通过网线将电脑与主路由器连接。

在浏览器中输入主路由器的默认 IP 地址,通常为 192.168.1.1,输入用户名和密码登录路由器管理界面。

在路由器管理界面中,找到“设置无线网络”或“无线设置”选项,设置无线网络的名称(SSID)、加密方式和密码。

确保主路由器的无线网络正常工作。

2. 副路由器设置。

将副路由器连接上电源并接通电源,同样通过网线将电脑与副路由器连接。

在浏览器中输入副路由器的默认 IP 地址,通常为 192.168.1.1,输入用户名和密码登录路由器管理界面。

在路由器管理界面中,找到“设置无线网络”或“无线设置”选项,设置副路由器的无线网络名称(SSID)、加密方式和密码,确保副路由器的无线网络正常工作。

3. 路由器无线桥接设置。

在副路由器的管理界面中,找到“无线桥接”或“桥接设置”选项,选择“启用无线桥接”并输入主路由器的无线网络名称(SSID)和密码。

保存设置并重启副路由器。

在重启后,副路由器将自动连接到主路由器的无线网络,实现无线桥接功能。

此时,你可以将副路由器放置在需要加强信号的区域,以扩展网络覆盖范围。

4. 网络测试。

最后,使用手机、平板或电脑等设备连接副路由器的无线网络,测试网络连接是否正常,确保无线桥接设置成功。

总结。

通过以上设置,我们可以轻松实现路由器无线桥接功能,扩展网络覆盖范围,提高网络信号质量。

希望以上方法能够帮助到有需要的朋友,祝你的网络覆盖更加完美!。

桥接模式设置教程

桥接模式设置教程

桥接模式放大信号设置:步骤1:将放大器产品插到电源上,笔记本XP系统设置方法在桌面上点击(网上邻居---查看我的网络---无线网络连接---右击属性---Internet协议版本 4 (TCP/IPV4)---右击属性)。

使用下面的IP地址设置为192.168.1.100子网掩码设置为:255.255.255.0 然后点击“确定”生效。

笔记本WIN7系统设置方法在桌面上点击(网络——网络和共享中心(右上面)——更改适配器设置(左边)---无线网络连接---右击属性---Internet协议版本 4(TCP/IPV4)---右击属性)。

使用下面的IP地址设置为192.168.1.100子网掩码设置为:255.255.255.0 然后点击“确定”生效。

台式电脑设置方法把网线断开,用网线单独把电脑和放大器连接起来(网线一头插上电脑网口,一头插上放大器网口),在,本地连接 ---右击属性---Internet 协议版本---右击属性)修改IP地址192.168.1.100 子网掩码设置为:255.255.255.0然后点击“确定”生效,然后用浏览器输入192.168.1.253进行步骤2设置。

手动IP改好后,电脑扫描环境中的无线网络MERCURY__xxxxx(是放大器无线信号),选中放大器的无线信号,并点击“连接”,连接上之后,如下图所示。

步骤2:在浏览器中输入“192.168.1.253”,输入登陆帐号admin密码admin,打开放大器的管理界面,自动弹出“设置向导”(也可以点击管理界面菜单“设置向导”),如下图所示。

步骤3:点击“下一步”开始设置,弹出无线工作模式设置页面,如下图所示。

步骤4:选择“Bridge(桥接模式)”,点击下一步,弹出无线设置页面,点击“扫描”如下图所示。

点击“扫描”按钮,扫描环境中无线网络,找到您要放大信号的无线网络名称(SSID)点击“连接”。

注意: 扫描结果时请记住原有的WIFI的信道和加密类型,点连接后依次填上。

OpenWrt的两种模式:桥接模式与路由模式

OpenWrt的两种模式:桥接模式与路由模式

OpenWrt的两种模式:桥接模式与路由模式1、桥接模式(Bridged AP Mode ):通过OpenWrt 设备做桥,连接到OpenWrt的无线设备是由此网段192.168.1.0网段中的路由来分配IP地址的,所以此网段中的所有设备都是互通互连的!OpenWrt设备的桥接配置方式:[plain]root@OpenWrt:~# cat /etc/config/networkconfig interface 'loopback'option ifname 'lo'option proto 'static'option ipaddr '127.0.0.1'option netmask '255.0.0.0'config interface 'lan'option ifname 'eth0'option type 'bridge'option proto 'static'option ipaddr '192.168.1.129'option netmask '255.255.255.0'option gateway '192.168.1.1'option dns '202.101.172.46'root@OpenWrt:~# cat /etc/config/wirelessconfig wifi-device radio0option type mac80211option channel 11option hwmode 11ngoption path 'platform/ar933x_wmac'option htmode HT20list ht_capab SHORT-GI-20list ht_capab SHORT-GI-40list ht_capab RX-STBC1list ht_capab DSSS_CCK-40# REMOVE THIS LINE TO ENABLE WIFI:# option disabled 1config wifi-ifaceoption device radio0option network lanoption mode apoption ssid OpenWrtoption encryption noneroot@OpenWrt:~# cat /etc/config/firewallconfig defaultsoption syn_flood 1option input ACCEPToption output ACCEPToption forward REJECT# Uncomment this line to disable ipv6 rules# option disable_ipv6 1config zoneoption name lanoption network 'lan'option input ACCEPToption output ACCEPToption forward REJECTconfig zoneoption name wanoption network 'wan'option input REJECToption output ACCEPToption forward REJECToption masq 1option mtu_fix 1config forwardingoption src lanoption dest wan# We need to accept udp packets on port 68,# see https:///ticket/4108config ruleoption name Allow-DHCP-Renewoption src wanoption proto udpoption dest_port 68option target ACCEPToption family ipv4# Allow IPv4 pingconfig ruleoption name Allow-Pingoption src wanoption proto icmpoption icmp_type echo-requestoption family ipv4option target ACCEPT# Allow DHCPv6 replies# see https:///ticket/10381config ruleoption name Allow-DHCPv6option src wanoption proto udpoption src_ip fe80::/10option src_port 547option dest_ip fe80::/10option dest_port 546option family ipv6option target ACCEPT# Allow essential incoming IPv6 ICMP trafficconfig ruleoption name Allow-ICMPv6-Inputoption src wanoption proto icmplist icmp_type echo-requestlist icmp_type echo-replylist icmp_type destination-unreachablelist icmp_type packet-too-biglist icmp_type time-exceededlist icmp_type bad-headerlist icmp_type unknown-header-typelist icmp_type router-solicitationlist icmp_type neighbour-solicitationlist icmp_type router-advertisementlist icmp_type neighbour-advertisementoption limit 1000/secoption family ipv6option target ACCEPT# Allow essential forwarded IPv6 ICMP trafficconfig ruleoption name Allow-ICMPv6-Forwardoption src wanoption dest *option proto icmplist icmp_type echo-requestlist icmp_type echo-replylist icmp_type destination-unreachablelist icmp_type packet-too-biglist icmp_type time-exceededlist icmp_type bad-headerlist icmp_type unknown-header-typeoption limit 1000/secoption family ipv6option target ACCEPT# Block ULA-traffic from leaking outconfig ruleoption name Enforce-ULA-Border-Srcoption src *option dest wanoption proto alloption src_ip fc00::/7option family ipv6option target REJECTconfig ruleoption name Enforce-ULA-Border-Destoption src *option dest wanoption proto alloption dest_ip fc00::/7option family ipv6option target REJECT# include a file with users custom iptables rulesconfig includeoption path /etc/er### EXAMPLE CONFIG SECTIONS# do not allow a specific ip to access wan#config rule# option src lan# option src_ip 192.168.45.2# option dest wan# option proto tcp# option target REJECT# block a specific mac on wan#config rule# option dest wan# option src_mac 00:11:22:33:44:66# option target REJECT# block incoming ICMP traffic on a zone#config rule# option src lan# option proto ICMP# option target DROP# port redirect port coming in on wan to lan#config redirect# option src wan # option src_dport 80# option dest lan # option dest_ip 192.168.16.235# option dest_port 80# option proto tcp# port redirect of remapped ssh port (22001) on wan#config redirect# option src wan# option src_dport 22001# option dest lan# option dest_port 22# option proto tcp# allow IPsec/ESP and ISAKMP passthrough#config rule# option src wan# option dest lan# option protocol esp# option target ACCEPT#config rule# option src wan# option dest lan# option src_port 500# option dest_port 500# option proto udp # option target ACCEPT### FULL CONFIG SECTIONS#config rule# option src lan # option src_ip 192.168.45.2# option src_mac 00:11:22:33:44:55 # option src_port 80# option dest wan # option dest_ip 194.25.2.129# option dest_port 120# option proto tcp# option target REJECT#config redirect# option src lan # option src_ip 192.168.45.2# option src_mac 00:11:22:33:44:55 # option src_port 1024# option src_dport 80# option dest_ip 194.25.2.129# option dest_port 120# option proto tcp2、路由模式(Routed AP Mode):OpenWrt 设备做路由时,连接到OpenWrt的无线设备是由OpenWrt路由设备本身来分配IP 地址的,所以通过无线连接到OpenWrt网段中的所有设备都与原来的192.168.1.0网段的设备不通(OpenWrt设备本身除外)!OpenWrt设备的路由配置方式:[plain]root@OpenWrt:/# vi /etc/config/networkconfig interface 'loopback'option ifname 'lo'option proto 'static'option ipaddr '127.0.0.1'option netmask '255.0.0.0'config interface 'wan'option ifname 'eth0'option proto 'static'option ipaddr '192.168.1.129'option netmask '255.255.255.0'option gateway '192.168.1.1'option dns '202.101.172.46'config 'interface' 'wifi'option 'proto' 'static'option 'ipaddr' '192.168.2.1'option 'netmask' '255.255.255.0'root@OpenWrt:/# vi /etc/config/wirelessconfig wifi-device radio0option type mac80211option channel 11option hwmode 11ngoption path 'platform/ar933x_wmac'option htmode HT20list ht_capab SHORT-GI-20list ht_capab SHORT-GI-40list ht_capab RX-STBC1list ht_capab DSSS_CCK-40# REMOVE THIS LINE TO ENABLE WIFI:config wifi-ifaceoption device radio0option network wifioption mode apoption ssid OpenWrtoption encryption noneroot@OpenWrt:/# vi /etc/config/dhcpconfig dnsmasqoption domainneeded 1option boguspriv 1option filterwin2k 0 # enable for dial on demandoption localise_queries 1option rebind_protection 1 # disable if upstream must serveRFC1918 addressesoption rebind_localhost 1 # enable for RBL checking and similar services#list rebind_domain n # whitelist RFC1918 responses for domainsoption local '/lan/'option domain 'lan'option expandhosts 1option nonegcache 0option authoritative 1option readethers 1option leasefile '/tmp/dhcp.leases'option resolvfile '/tmp/resolv.conf.auto'#list server '/mycompany.local/1.2.3.4'#option nonwildcard 1#list interface br-lan#list notinterface lo#list bogusnxdomain '64.94.110.11'config dhcp lanoption interface lanoption start 100option limit 150option leasetime 12hconfig dhcp wanoption interface wanoption ignore 1config dhcp wifioption interface wifioption start 100option limit 150option leasetime 12hroot@OpenWrt:/# vi /etc/config/firewallconfig defaultsoption syn_flood '1'option input 'ACCEPT'option output 'ACCEPT'option forward 'REJECT'config zoneoption name 'wifi'option input 'ACCEPT'option output 'ACCEPT'option forward 'ACCEPT'config zoneoption name 'lan'option network 'lan'option input 'ACCEPT'option output 'ACCEPT'option forward 'ACCEPT'config zoneoption name 'wan'option network 'wan'option output 'ACCEPT'option masq '1'option mtu_fix '1'option forward 'REJECT'config forwardingoption src 'lan'option dest 'wan'config forwardingoption src 'wifi'option dest 'wan'config forwardingoption src 'lan'option dest 'wifi'config forwardingoption src 'wifi'option dest 'lan'config ruleoption name 'Allow-DHCP-Renew'option src 'wan'option proto 'udp'option dest_port '68'option target 'ACCEPT'option family 'ipv4'config ruleoption name 'Allow-Ping'option src 'wan'option proto 'icmp'option icmp_type 'echo-request'option family 'ipv4'config ruleoption name 'Allow-DHCPv6'option src 'wan'option proto 'udp'option src_ip 'fe80::/10'option src_port '547'option dest_ip 'fe80::/10'option dest_port '546'option family 'ipv6'option target 'ACCEPT'config ruleoption name 'Allow-ICMPv6-Input'option src 'wan'option proto 'icmp'list icmp_type 'echo-request'list icmp_type 'echo-reply'list icmp_type 'destination-unreachable'list icmp_type 'packet-too-big'list icmp_type 'time-exceeded'list icmp_type 'bad-header'list icmp_type 'unknown-header-type'list icmp_type 'router-solicitation'list icmp_type 'neighbour-solicitation'list icmp_type 'router-advertisement'list icmp_type 'neighbour-advertisement'option limit '1000/sec'option family 'ipv6'option target 'ACCEPT'config ruleoption name 'Allow-ICMPv6-Forward'option src 'wan'option dest '*'option proto 'icmp'list icmp_type 'echo-request'list icmp_type 'echo-reply'list icmp_type 'destination-unreachable'list icmp_type 'packet-too-big'list icmp_type 'time-exceeded'list icmp_type 'bad-header'list icmp_type 'unknown-header-type'option limit '1000/sec'option family 'ipv6'option target 'ACCEPT'config ruleoption name 'Enforce-ULA-Border-Src'option src '*'option dest 'wan'option proto 'all'option src_ip 'fc00::/7'option family 'ipv6'option target 'REJECT'config ruleoption name 'Enforce-ULA-Border-Dest'option src '*'option dest 'wan'option proto 'all'option dest_ip 'fc00::/7'option family 'ipv6'option target 'REJECT'config includeoption path '/etc/er'重启相应配置:[html]root@OpenWrt:/# /etc/init.d/network restartConfiguration file: /var/run/hostapd-phy0.confUsing interface wlan0 with hwaddr ec:17:2f:9e:12:f2 and ssid "OpenWrt" root@OpenWrt:/# /etc/init.d/dnsmasq restart/net/201306/223534.html。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 桥接模式是指将抽象部分与它的实现部分分离,使它们可以独立地变化。桥接 模式的设计类图如图3.43所示。
Abstraction abstraction; Implementor implementor; String imp = getImplementor(); if(pareTo(A)==0) {implementor = new ConcreteImplementorA();} if(pareTo(B)==0) {implementor = new ConcreteImplementorB();} abstraction = new RefinedAbstraction(implementor); abstraction.OperationImp();
13
关于桥接模式的讨论
• 关于椭圆,Java API 中的Ellipse2D 以及两个实现类Ellipse2D.double与 Ellipse2D.float都是以左上角坐标与长、宽声明一个椭圆。但是数学工作者习 惯于使用椭圆中心与长、短半轴声明一个椭圆。因此有必要定义一个新的椭圆 接口,带有两个不同的实现类EllipseByCorner与EllipseByCenter,并且希 望这两个椭圆类都有画椭圆的功能。但是画图是一项单独的功能,不适合放在 EllipseByCorner与EllipseByCenter中,因此,将画椭圆图的功能单独封装 在EllipseDrawer类的结构体中。设计类图如图3.47所示。
15
由此看来,在所设计的程序中有几个维度时,将抽象部分与实现部分分离的 设计,可以使程序独立、互不影响地增加类,而不需要改变甚至不需要重新 编译已经存在的类。
7
桥接模式的概念和机制
• 桥接模式是指将抽象部分与它的实现部分分离,使它们可以独立地变化。桥接 模式的设计类图如图3.43所示。
8
桥接模式的概念和机制
9
桥接模式应用实例
• 考虑一个自动茶水销售机的实例,该机器销售的茶水在杯子的体积上分为中杯 和大杯,在茶叶品种上分为红茶和绿茶,这里要进行销售程序设计。为了简单 起见,假设程序的主要功能为根据茶杯的大小与茶的种类计算一杯茶的销售价 格。使用桥接模式进行设计。用户通过选择“Super Cup”或者”Medium Cup”,及“Red Tea”或“Green Tea”获得一杯茶的价格。
以上设计的缺点是具有重复性且缺乏可扩展性。
2
引言
• 按照茶杯的大小分类,可以设计出如图3.38所示的类的结构体。
3
引言
• 现在,如果需要添加一个新的茶叶品种,如BlackTea,则需要分别在MedTea 和SuperTea的子类位置添加BlackTea类,如图3.39所示
以上设计确实仍符合开闭原则,但是添加一个类需要同时在两个地方进行操 作,还是比较麻烦。
4
引言
• 现在考虑将整个类拆分成两个类的结构体进行重新设计,如图3.40所示。
5
引言
• 因为新的设计将抽象部分与实现部分分离开来,所以比较容易在茶的品种和茶 杯的体积方面增加新的类。例如,若增加一个类BlackTea,只需增加一个 Teakind的子售小杯茶水的功能,则只需要增加一个TeaSize的子 类SmallCup类即可,如图3.42所示。
GeoForm g; Measure m; String form = getGeoForm(); String measure = getMeasure(); if(pareTo(Cube)==0) {g = new Cube();} if(pareTo(EllipseCylinder)==0) {g = new EllipseCylinder();} if(pareTo(MeterMeasure)==0) {m = new MeterMeasure(g);} if(pareTo(FootMeasure)==0) {m = new FootMeasure(g);} float volume = m.findVolume();

现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式 的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、 JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。 系统必须具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求 并减少所需生成的子类数目,采用桥接设计模式,请画出类图。
11
桥接模式应用实例
• 在不同的度量下体积计算问题。假如要计算在米(Meter)与英尺(Foot)度 量下的空间几何体的体积问题,利用桥接模式进行设计。
12
桥接模式应用实例
• 在不同的度量下体积计算问题。假如要计算在米(Meter)与英尺(Foot)度 量下的空间几何体的体积问题,利用桥接模式进行设计。
10
桥接模式应用实例
• 假设程序的主要功能为根据茶杯的大小与茶的种类计算一杯茶的销售价格,使 用桥接模式进行设计。
String size = getTeaSize(); String kind = getTeaKind(); if(pareTo(GREENTEA)==0) {tKind = new GreenTea();} if(pareTo(REDTEA)==0) {tKind = new RedTea();} if(pareTo(SUPERCUP==0) {tSize = new SuperCup(tKind);} if(pareTo(MEDIUMCUP)==0) {tSize = new MediumCup(tKind);} float price = tSize.getPrice();
软件设计模式与体系结构
3.4 桥接模式
主讲教师:陈星 助教:曾雪娥、刘艳萍等 福州大学 数学与计算机科学学院 福建省网络计算与智能信息处理重点实验室
引言
• 考虑一个自动茶水销售机的实例,该机器销售的茶水在杯子的体积上分为中杯 和大杯,在茶叶品种上分为红茶和绿茶,这里要进行销售程序设计。为了简单 起见,假设程序的主要功能为根据茶杯的大小与茶的种类计算一杯茶的销售价 格。初始设计如图3.37所示。
通过该设计,将椭圆的声明与具体的椭圆画法分开了。那么现在该设计是否 遵循桥接模式的设计?
14
本周课程作业
• 开发一个跨平台视频播放器,可以在不同操作系统平台(如Windows、Linux、 UNIX等)上播放多种格式的视频文件,如MPEG、RMVB、AVI、WMV等常见 视频格式。现使用桥接模式设计该播放器。
相关文档
最新文档