摘要: 一、继承的不足:1、层次结构的不足:(一个类型可以有多余一个超类型)1.当需要创建一个对象时,查找他的正确的超类型会涉及整个类型网络的索。2.在设计大型系统时,处理好一批相互有关其同时保持模块独立性比较难。二、 赋值类编程不足:1、具有内部状态的计算对象,丢掉了引用的透明性,在处理大规模的并发问题时将会变的更加复杂庞大,主要就是需要要考虑事件的发生顺序。(在事先就要掌握并发情况下各种事件发生顺序造成的状况,从而来排除不是我们需要的事件执行顺序。在这种情况下如果并发的事件增多,我们要处理的事件排列顺序数目也会成几何状态暴增)。为限制并行进程的交错状况,产生了一下的技术:1.串行化组:严格控制事件 阅读全文
posted @ 2011-08-14 13:33 musketeer 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 文中图并不是真正意义上的类图,里面添加了部分方法的实现,便于理解该模式的程序的实现方式创建型模式:1.工厂模式(Factory):Factory根据传入的参数condition生成具体的对象Operation对象。添加新产品Operation时并不影响以前系统代码Operation*obj=Factory::CreateObject('+');Obj->GetResult();2.单例模式:(提供全局访问)类Singleton时添加:Singleton::_instance=0;全局调用:Singleton::Instance()->.............3.建 阅读全文
posted @ 2011-07-20 10:24 musketeer 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 最近学习了Tsung压力测试工具,对公司产品进行测试。Tsung内置支持的HTTP、MySQL、SOAP、Jabber等协议没有我们需要的,于是自己开发了一个插件支持自定义的协议。Tsung内部结构图:Tsung是一个开源的工具,此处可以看见详细的Tsung程序源码:https://forge.process-one.net/browse/tsung通过对Tsung所支持的其它协议的源码发现,我们只需改动一下几个地方就可以实现自定义插件的编写:1.更新tsung-1.0.dtd (定义自定义协议类型和请求类型)2.创建erlang头文件存放解析的信息ts_myclient.hrl3.编写解析X 阅读全文
posted @ 2011-03-26 11:56 musketeer 阅读(1086) 评论(0) 推荐(2) 编辑
摘要: 以下示例经过自己手动验证可行,按照下面方法对erlang项目的热代码升级都是可行的。参照前篇博文所述的Rebar打包方法进行打包工程版本0.1,对版本0.2的打包按以下步骤执行:1.修改版本号:app文件的版本号:rel文件目录下的reltool.config的版本号2.配置升级文件dummy_app.appup放置于编译后的ebin目录中此处为升级dummy_server模块的功能,这里的升级操作为update3.配置reltool.config文件4.形成升级包命令5.热代码升级命令详细出处:https://github.com/basho/rebar/wiki/Upgrades包含升级示 阅读全文
posted @ 2011-03-26 11:54 musketeer 阅读(573) 评论(0) 推荐(0) 编辑
摘要: Rebar——Erlang构建工具,可以方便的编译测试Erlang应用程序和发布。一、Rebar的安装1.在页面https://bitbucket.org/basho/rebar/downloads下载rebar和tip的bz2格式文件2.安装步骤https://bitbucket.org/basho/rebar/wiki/Home二、Rebar使用1.rebar为basho-rebar-d4fcc10abc0b.tat.bz2_FILES文件安装后生成文件,rebar为名称改短后的文件名,叫其它名字亦可。2.apps文件为存放打包程序自定义文件3.在apps文件下放置将要打包工程文件,(1) 阅读全文
posted @ 2011-03-26 11:53 musketeer 阅读(3676) 评论(0) 推荐(0) 编辑