桥接

桥接模式

Deadly 提交于 2019-11-26 09:51:22
桥接模式 将抽象部分与实现部分分离,使它们都可以独立的变化。 使用场景: 1、如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。 2、对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适用。 3、一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。 1、创建桥接接口 1 public interface DrawAPI { 2 void draw(int radius,int x,int y); 3 } DrawAPI 2、桥接接口的实现类 1 public class GreenCircle implements DrawAPI { 2 @Override 3 public void draw(int radius, int x, int y) { 4 System.out.println("Drawing Circle[ color: green, radius: " 5 + radius +", x: " +x+", "+ y +"]"); 6 } 7 } GreenCircle 1 public class RedCircle implements DrawAPI { 2 @Override 3 public void draw

Centos7配置静态ip

南笙酒味 提交于 2019-11-26 05:56:27
一:桥接模式和NET模式比较 桥接模式:  在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地位),它可以访问内网中的任何一台机器。在桥接模式下,我们往往需要为虚拟主机配置ip地址、子网掩码等。这样,同一个局域网中主机都可和虚拟机进行通信了。 VM设置桥接时还有一个选项为:复制物理网络连接状态??? VM上使用的是虚拟的网卡,而桥接还有其他的网路链接方式,都是必须存在网卡的。复制物理网卡连接状态,就是说把你指定的、本机的、真实网卡的状态信息复制给虚拟机的虚拟网卡。 当选中复制物理网络连接状态时,虚拟机可以上网。那么这个选项勾选上与不勾选上有什么区别呢?不勾选就是没有办法共享物理机的网络(不勾选和勾选都可以上网,但是如果在没有勾选的情况下,设备重新启动后就没有办法上网,表明虚拟机当前没有网卡信息,勾选上再一次重新启动就可以了)。 Nat模式: 虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。简单讲就是宿主机器再构建一个局域网,然后,局域网内只有一台机器,就是虚拟机。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯

VMware 中 CentOS 7 设置静态IP

末鹿安然 提交于 2019-11-26 05:56:12
一、 VMware 网络模式 VMware 提供了三种网络工作模式: Bridged (桥接模式)、 NAT (网络地址转换模式)、 Host-Only (仅主机模式)。 A、 Bridged (桥接模式) 桥接模式是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接。 物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段。 虚拟交换机就相当于一台现实网络中的交换机,所以两个网卡的IP地址也要设置为同一网段(网关与DNS)。 B、 NAT (网络地址转换模式) NAT模式是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。 NAT模式中虚拟机的网卡和物理网卡的网络不在同一个网络。主机网卡直接与虚拟NAT设备相连,利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网。 C、 Host-Only (仅主机模式) 仅主机模式是NAT模式去除了虚拟NAT设备。 将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,所以虚拟网络不能连接Internet,只与主机相互通讯。 主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。 D、 NAT 模式和桥接模式比较 NAT模式和桥接模式虚拟机都可以上外网。 由于NAT的网络在VMware提供的一个虚拟网络里

制作基于Swift 的Framework(通过module桥接引用oc.framework)

时光总嘲笑我的痴心妄想 提交于 2019-11-26 01:03:40
目前开发swift版本的SDK(framework) , 需要引用腾讯的sdk(framework),因为腾讯sdk是oc版本的,如果是普通swift项目引用,直接创建桥接文件就可以,但是framework桥接文件是没有用的,以下文档就是解决这个问题: 怎么在Swift 的Framework工程里面引用oc的framework 一、创建自己的swift framework工程 创建完成后工程是这个样子: 二、(重点)创建一个桥接targe, 在这个targe通过module里面引用oc的framework 操作步骤: 1、创建一个targe(记住,是targe,不是project) 选择targe之后,下一步. 选择Cocoa Touch Framework 下一步,填写名字(TXSDK)因为我是桥接腾讯sdk,所以叫这个名字,你可以随表起,点击 Finish,出来的效果如下 下一步:在TASDK根目录下创建两个文件 TXSDK.xcconfig 和 TXSDK.modulemap(直接创建空文件,修改后缀名就行) TXSDK.xcconfig的内容: MODULEMAP_FILE[sdk=iphoneos ] = $(SRCROOT)/TXSDK/TXSDK.modulemap MODULEMAP_FILE[sdk=iphonesimulator ] = $(SRCROOT)

Linux之安装Linux详细步骤

独自空忆成欢 提交于 2019-11-26 01:02:46
1. 准备前说明 本文采用的是CentOS6.8,64位的,虚拟机时VMvare,采用的是双网卡方式。至于双网卡的作用和nat,桥接和hostonly模式请参见我的另一篇文章。 安装回环网卡&安装Linux前准备 2. 废话不多说,开始了 ◆打开虚拟机,点击文件---》新建虚拟机 ◆出现如下内容。选择典型,单击下一步 ◆出现如下界面之后,我们选择“稍后安装操作系统”,然后单击“下一步” ◆接下来选择操作系统和版本,我们选择的是“Linux”,版本选择我们的“CentOS 64位” 然后单击下一步 ◆给虚拟机起一个名字,随便就好,我起的名字是“CentOS6.8”,选择安装的操作系统位置,尽量不要选择c盘。单击“下一步” ◆这里“最大磁盘大小”,默认就行,由于拆分磁盘后会降低磁盘的性能,所以我们选择,将磁盘存储为单个文件。单击“下一步”。 ◆在这一步,我们选择“自定义硬件”,当然也可以稍后在选择,为了方便我就在这里选择自定硬件 ◆点击左侧的“新CD/DVD(IDE)”,在右侧会出现一个“连接‘’选项,我们选择”使用ISO镜像文件”,点击“浏览”,将我们事先准备好的iOS镜像文件选中。 ◆然后单击左侧的“添加”按钮,添加一块网卡,然后在弹出框里面选择“网络适配器”,然后单击下一步,点击“桥接模式”,一定要勾选“启动时连接”,最后单击完成即可 可以看到有两个网卡

linux网络配置之bond-team-bridge

笑着哭i 提交于 2019-11-25 16:54:21
bond模式 网卡的bond工作模式是 通过软件工具将多块真实物理网卡虚拟成一个网卡 可以增加接口的带宽 通过主-备份策略实现轮询、负载均衡和冗余功能 bond最多只支持两块网卡 实验具体操作 创建一个bond0的主属 删除系统网卡eth0 创建两个从属 开启监控 进行测试ping 172.25.254.31 关闭网卡eth0 自动换为网卡eth1 . team模式 team方式最多可支持达8块网卡,具有更强的扩展性,是加强版的bond模式 将多个网卡聚合在一起,提升高可用性 通过主-备份策略实现轮询、负载均衡和冗余功能 实验具体操作 创建team0网络组 删除系统网卡eth0 加入两个网络组成员 显示网卡情况 进行测试ping 172.25.254.31 显示网络组team0状态 ,eth0运行 关闭网卡eth0 显示网络组team0状态,eth1运行 . 真机桥接模式的配置 桥接模式:当虚拟机系统的网络连接模式为桥接模式时,相当于在主机系统和虚拟机系统之间连接了一个网桥,而网桥两端的网络都属于同一网络,主机和虚拟机是处于同一网络中的对等主机 实现功能:主机和虚拟机可以互通,虚拟机可以上网 实验具体操作 网桥配置进行备份 删除系统网卡eth0 配置物理网卡 配置桥接网卡 查看ip 添加桥接模式 重启网络 查看状态 进行测试ping 172.25.254.31 可直接ping通