
设计模式
文章平均质量分 56
iw1210
这个作者很懒,什么都没留下…
展开
-
设计模式之 Bridge 模式(桥接模式)
如果你想要写一个游戏,并且想让这个游戏同时支持PC和手机,那么怎么样的设计可以避免写两套代码,并且不影响可扩展性呢?说起来还是比较简单的,只要把对平台的依赖部分抽取成抽象的接口(比如说绘图部分),并且针对抽取出来的接口,分别实现PC版和手机版就行了。系统的其他部分只要调用那套抽取出来的接口就可以完成所有的功能。这样来看,系统的其他部分是不依赖具体的平台的,也就具有了良好的扩展性。这个就是Bridg转载 2014-06-02 16:33:46 · 761 阅读 · 0 评论 -
COM(组件对象模型)
COM简介(COM),是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无转载 2014-06-02 14:49:22 · 5275 阅读 · 0 评论 -
用ACE的Reactor模式实现网络通讯时,ACE内部用WSAEventSelect函数把网络事件与一个事件对象关联起来,目的是为了后面用WaitForMultipleObjects函数统一处理。
用ACE的Reactor模式实现网络通讯时,ACE内部用WSAEventSelect函数把网络事件与一个事件对象关联起来,目的是为了后面用WaitForMultipleObjects函数统一处理。原创 2014-07-07 18:26:44 · 1184 阅读 · 0 评论 -
各种设计模式的形象描述
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 设计模式的书相信很多人都看过。对于设计模式这样一种方法,相信不同的人有不同的理解。我在这里写的博客只是我个人对设计模式的粗浅认识。文中肯定存在很多的不足和不成熟之处,希望朋友们谅解。望大家多多指正,谢谢!01)C语言和设计模式(继承、封装、多态)02)C语言和转载 2014-06-17 12:14:28 · 782 阅读 · 0 评论 -
ACE中的两种I/O多路复用模式 Reactor 和 Proactor 的比较
ACE中的两种I/O多路复用模式:Reactor 和 Proactor一般情况下,I/O 复用机制需要事件分离器(event demultiplexor)。事件分离器的作用,即将那些读写事件源分发给各读写事件的处理者,就像送快递的在楼下喊:谁的什么东西送了,快来拿吧。开发人员在开始的时候需要在分离器那里注册感兴趣的事件,并提供相应的处理者(event handlers),或者是回调函数;事转载 2014-06-18 12:46:25 · 1305 阅读 · 0 评论 -
在Windows系统下,ACE中的 Reactor 最终调用 WaitForMultipleObjects 函数,Priority Reactor 和 Proactor 最终调用 select 函数。
在Windows系统下,ACE中的Reactor最终调用系统的WaitForMultipleObjects函数原创 2014-06-19 18:50:34 · 899 阅读 · 0 评论 -
对ACE反应器Reactor模式的示例程序分析
在ACE 6.0.0 里提供了一个Reactor示例程序,分析在原创 2014-06-17 17:28:32 · 1126 阅读 · 0 评论 -
修改ACE的Reactor模式示例中的参数后测试,依据测试结果,猜测Reactor似乎可以突破62个事件的限制。但是...
【猜测】ACE的Reactor模式示例中,事件,可以分批 Reactor超过62限制,但会有事件漏掉。原创 2014-06-19 16:24:32 · 749 阅读 · 0 评论 -
设计模式:Inheritance(继承) 和 Delegation(委托)
设计模式:Inheritance(继承) 和 Delegation(委托)今天继续讲Design Pattern的内容。所谓 Design Pattern,翻译过来就是设计模式,是OO语言的一些基本运用。今天介绍Design Pattern中的两个基本概念,Inheritance(继承) 和Delegation(委托)。先定义一个位图类:class CBitmap {.原创 2014-06-23 10:27:40 · 5419 阅读 · 0 评论 -
Association, Aggregation, Composition, Abstraction, Generalization, Realization, Dependency
Association, Aggregation, Composition, Abstraction, Generalization, Realization, Dependency These terms signify the relationships between classes. These are the building blocks of object oriented转载 2014-09-16 16:17:57 · 2436 阅读 · 0 评论 -
类与类之间的几种关系(继承、实现、依赖、关联、聚合、组合)
聚集(Aggregation)是一种特殊形式的关联。聚集表示类之间的关系是整体与部分的关系。一辆轿车包含四个车轮、一个方向盘、一个发动机和一个底盘,这是聚集的一个例子。在需求分析中,"包含"、"组成"、"分为……部分"等经常设计成聚集关系。聚集可以进一步划分成共享聚集(Shared Aggregation)和组成。例如,课题组包含许多成员,但是每个成员又可以是另一个课题组的成员,即部分可以参加多个转载 2014-06-02 10:49:56 · 19310 阅读 · 0 评论 -
COM“可重用性”的两种模型:包容和聚合
http://baike.baidu.com/link?url=mR78uRA1-U4NJ1KvAFHc4KCKclk0Kdr5tbhTdDcXSovEgXON3zx0DlpuVg6Sz8VS转载 2014-06-02 14:58:56 · 1743 阅读 · 0 评论 -
设计模式之 Visitor 模式(访问者模式)
设计模式之 Visitor 模式(访问者模式)转载 2014-06-02 17:07:35 · 648 阅读 · 0 评论 -
具体类、虚类、抽象类(纯虚类)、接口
具体类、抽象类、接口先明确两个概念:具体函数 和 抽象函数1. 具体函数,也称具体方法,即使函数体是实现了的,不是纯虚函数。2. 抽象函数,也称抽象方法,即使函数体是未实现的,是纯虚函数。具体类、抽象类、接口的定义:1. 具体类里的所有方法都是具体的,即所有方法都不是纯虚函数。2. 抽象类里有具体方法,也有抽象方法。3. 接口里的所有方法都是抽象的,即所有方法都是纯虚函原创 2014-06-23 12:25:39 · 7594 阅读 · 2 评论 -
设计模式:Interface Inheritance (接口继承)和 Implementation Inheritance(实现继承)
设计模式:Interface Inheritance (接口继承)和 Implementation Inheritance(实现继承)先阅读《具体类、抽象类、接口》:http://blog.youkuaiyun.com/iw1210/article/details/33727491纯虚函数(pure virtual):派生类继承这个函数,并实现该函数。虚函数(impure virtual):派生类原创 2014-06-23 12:27:15 · 2431 阅读 · 0 评论 -
ACE 服务配置:静态服务 和 动态服务
ACE允许运行时动态地配置服务和流,无论它们是静态地链接进用户程序中,还是其对象是从共享库中动态地加载,既可以配置服务(一个对象代表一个服务),也可以配置流(基于配置文件而非编译时期装配模块)。运行时配置的益处在于:● 多种类型的服务可以链接进程序中,也可以从共享库中动态地加载,通过配置文件决定运行时需要激活哪些服务;● 在服务初始化时传入不同的参数或指定专用的配置文件转载 2014-06-23 17:44:45 · 2797 阅读 · 0 评论 -
ACE中的TCP通讯
ACE中的TCP通讯,不罗嗦,直接上代码。原创 2014-07-01 20:00:53 · 1975 阅读 · 1 评论 -
用ACE的Reactor模式实现网络通讯的例子
用ACE的Reactor模式实现网络通讯的例子,不罗嗦,直接上代码原创 2014-07-01 19:42:45 · 4900 阅读 · 0 评论 -
ACE中的UDP通讯
ACE中的UDP通讯,不罗嗦,直接上代码。原创 2014-07-01 20:14:48 · 2073 阅读 · 1 评论 -
Facade模式及其与Adapter模式和Proxy模式的区别
Facade模式及其与Adapter模式和Proxy模式的区别Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。它是为子系统中的一组接口所提供的一个一致的界面。老旧的code(尤其是将C的代码转成C++代码)或者即便不是老旧code,但涉及多个子系统时,除了重写全部代码(对于老旧code而言),我们还可能采用这原创 2014-05-30 11:14:22 · 4232 阅读 · 0 评论 -
Abstract Factory、Builder和Factory模式的差异
Abstract Factory、Builder和Factory模式的差异采用Abstract Factory、Builder和Factory模式可以分离接口和具体实现,本文通过类比讨论三者间的差异。 下面举例说明三者间的差异,其中客户相当于模式使用者,商家相当于模式本身: 1. Factory类似购买品牌机,客户可以选择联想或DELL,商家的模式是提供各类品牌整机;转载 2014-06-02 17:51:02 · 1049 阅读 · 0 评论 -
认识大数据
认识大数据总结一下近期学习的大数据知识,主要是参考了厦门大学林子雨老师的博客。--- 传统的Web应用(LAMP、JavaEE、NODE系等)与大数据的关系之前一直以为大数据的东西就是来取代传统的Web应用的,其实并不是这样。即使是大数据的架构,应用层依然会是传统的web应用,但是会根据数据特点对数据进行存储(结构化数据依然会保存在传统的关系型数据库,如MySql,日志等非结构数据会保...原创 2018-08-30 18:04:14 · 1368 阅读 · 0 评论