??
昨天探讨了访问者模式,今天来说说桥接模式:
定义:将抽象部分与它的实现部分分离,是它们可以独立地变化。
这并不是说,让抽象类与其派生类分离,因为这没有任何意义。实现指的是抽象类和它的派生类用来实现自己的对象。
理解:实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。
下面讲一下合成/聚合复用原则:
合成/聚合复用原则就...
分类:
其他好文 时间:
2014-07-25 11:10:31
阅读次数:
229
// thin device数据结构
type DevInfo struct {
Hash string `json:"-"`
DeviceId int `json:"device_id"`
Size uint64 `json:"size"`
TransactionId uint64 `json:"tran...
分类:
移动开发 时间:
2014-07-25 11:02:35
阅读次数:
549
构造型模式中的适配器模式、外观模式、装饰模式、代理模式都属于包装模式,都是对另外的类或对象的包装,只是各自的意图不同。
适配器模式通过对另外的类或对象的包装,将其接口转换为用户期望的接口,达到接口的适配的目的。
外观模式是对包装的一组类或对象提供一个高层接口,意图是简化接口,使系统更加容易使用。
装饰模式的意图是在不改变包装...
分类:
移动开发 时间:
2014-07-24 23:21:24
阅读次数:
304
开发游戏服务器往往有“热更新”的需求,就是在不停止服务程序的情况下,对服务程序进行升级。这里采用lua脚本桥接C++的模式。程序主框架用C++,程序的业务逻辑也是C++(具体的是C++写的DLL),这两者之间用LUA脚本语言进行桥接。当程序运行时,只要改变LUA脚本,即可以选择使用不同的DLL,以实现业务逻辑的升级更新。...
分类:
编程语言 时间:
2014-07-24 17:38:26
阅读次数:
306
在一一分析每种设计模式之前,我首先把所有的设计模式做了一个总结,大致分成三部分:创建型模式、结构型模式和行为型模式。
一、创建型模式
1、抽象工厂模式
提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。
2、建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
3、工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂...
分类:
其他好文 时间:
2014-07-24 10:39:44
阅读次数:
210
前几天我在windows7系统上安装了一个oraclevm虚拟机,今天打开一看居然不能使用桥接模式,自己仔细观察了一下,是没有网络驱动造成的,添加驱动就可以了。1.错误提示解决方法(在本地网上邻居添加驱动)选择oraclevm安装目录下的网络驱动问题解决了
分类:
系统相关 时间:
2014-07-23 21:32:17
阅读次数:
329
原文译自:http://opensource.com/business/14/7/docker-security-selinux
这篇文章基于我今年在DockerCon一个讲座,它将讨论我们当前听到的Docker容器的安全问题.
容器并不"包容"
我听到也读到许多假定Docker容器是应用沙盒的观点--这意味着他们可以在他们的系统上使用有根权限的Docker来运行任意的程序. 他们相...
分类:
系统相关 时间:
2014-07-23 17:18:26
阅读次数:
469
# 主机环境 ubuntu server 14.04,虚拟机 # eth1:192.168.56.101 # eth2: 192.168.58.101 # 192.168.56.0/24 ? ? 管理网络 # 192.168.58.0/24 ? ? 数据网络,容器使用的网络 # 切换到 root 用户执行以下命令...
分类:
其他好文 时间:
2014-07-23 14:01:06
阅读次数:
289
为什么要拆分样式文件?更易于查找样式规则.简化维护,方便管理.还可以针对某一页面提供特定的样式.为什么要添加桥接样式?你可以随时添加或移除样式而不需要修改HTML文档.为什么要定义两种媒体类型?NN4不支持@import,故识别不到桥接样式.@import ‘header.css’;@import ...
分类:
Web程序 时间:
2014-07-22 00:22:34
阅读次数:
225